# RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -disassemble -show-encoding < %s | FileCheck -strict-whitespace %s

# CHECK: s_add_u32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x80]
0x01,0x02,0x05,0x80

# CHECK: s_add_u32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x80]
0x01,0x02,0x65,0x80

# CHECK: s_add_u32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x80]
0x01,0x02,0x66,0x80

# CHECK: s_add_u32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x80]
0x01,0x02,0x67,0x80

# CHECK: s_add_u32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x80]
0x01,0x02,0x6a,0x80

# CHECK: s_add_u32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x80]
0x01,0x02,0x6b,0x80

# CHECK: s_add_u32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x80]
0x01,0x02,0x7c,0x80

# CHECK: s_add_u32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x80]
0x01,0x02,0x7e,0x80

# CHECK: s_add_u32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x80]
0x01,0x02,0x7f,0x80

# CHECK: s_add_u32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x80]
0x65,0x02,0x05,0x80

# CHECK: s_add_u32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x80]
0x66,0x02,0x05,0x80

# CHECK: s_add_u32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x80]
0x67,0x02,0x05,0x80

# CHECK: s_add_u32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x80]
0x6a,0x02,0x05,0x80

# CHECK: s_add_u32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x80]
0x6b,0x02,0x05,0x80

# CHECK: s_add_u32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x80]
0x7c,0x02,0x05,0x80

# CHECK: s_add_u32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x80]
0x7e,0x02,0x05,0x80

# CHECK: s_add_u32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x80]
0x7f,0x02,0x05,0x80

# CHECK: s_add_u32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x80]
0x80,0x02,0x05,0x80

# CHECK: s_add_u32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x80]
0xc1,0x02,0x05,0x80

# CHECK: s_add_u32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x80]
0xf0,0x02,0x05,0x80

# CHECK: s_add_u32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x80]
0xf7,0x02,0x05,0x80

# CHECK: s_add_u32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf

# CHECK: s_add_u32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f

# CHECK: s_add_u32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x80]
0x01,0x65,0x05,0x80

# CHECK: s_add_u32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x80]
0x01,0x66,0x05,0x80

# CHECK: s_add_u32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x80]
0x01,0x67,0x05,0x80

# CHECK: s_add_u32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x80]
0x01,0x6a,0x05,0x80

# CHECK: s_add_u32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x80]
0x01,0x6b,0x05,0x80

# CHECK: s_add_u32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x80]
0x01,0x7c,0x05,0x80

# CHECK: s_add_u32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x80]
0x01,0x7e,0x05,0x80

# CHECK: s_add_u32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x80]
0x01,0x7f,0x05,0x80

# CHECK: s_add_u32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x80]
0x01,0x80,0x05,0x80

# CHECK: s_add_u32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x80]
0x01,0xc1,0x05,0x80

# CHECK: s_add_u32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x80]
0x01,0xf0,0x05,0x80

# CHECK: s_add_u32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x80]
0x01,0xf7,0x05,0x80

# CHECK: s_add_u32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf

# CHECK: s_add_u32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f

# CHECK: s_sub_u32 s5, s1, s2                    ; encoding: [0x01,0x02,0x85,0x80]
0x01,0x02,0x85,0x80

# CHECK: s_sub_u32 s101, s1, s2                  ; encoding: [0x01,0x02,0xe5,0x80]
0x01,0x02,0xe5,0x80

# CHECK: s_sub_u32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0xe6,0x80]
0x01,0x02,0xe6,0x80

# CHECK: s_sub_u32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0xe7,0x80]
0x01,0x02,0xe7,0x80

# CHECK: s_sub_u32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0xea,0x80]
0x01,0x02,0xea,0x80

# CHECK: s_sub_u32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0xeb,0x80]
0x01,0x02,0xeb,0x80

# CHECK: s_sub_u32 m0, s1, s2                    ; encoding: [0x01,0x02,0xfc,0x80]
0x01,0x02,0xfc,0x80

# CHECK: s_sub_u32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0xfe,0x80]
0x01,0x02,0xfe,0x80

# CHECK: s_sub_u32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0xff,0x80]
0x01,0x02,0xff,0x80

# CHECK: s_sub_u32 s5, s101, s2                  ; encoding: [0x65,0x02,0x85,0x80]
0x65,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x85,0x80]
0x66,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x85,0x80]
0x67,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x85,0x80]
0x6a,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x85,0x80]
0x6b,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x85,0x80]
0x7c,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x85,0x80]
0x7e,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x85,0x80]
0x7f,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, 0, s2                     ; encoding: [0x80,0x02,0x85,0x80]
0x80,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x85,0x80]
0xc1,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x85,0x80]
0xf0,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x85,0x80]
0xf7,0x02,0x85,0x80

# CHECK: s_sub_u32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf

# CHECK: s_sub_u32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f

# CHECK: s_sub_u32 s5, s1, s101                  ; encoding: [0x01,0x65,0x85,0x80]
0x01,0x65,0x85,0x80

# CHECK: s_sub_u32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x85,0x80]
0x01,0x66,0x85,0x80

# CHECK: s_sub_u32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x85,0x80]
0x01,0x67,0x85,0x80

# CHECK: s_sub_u32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x85,0x80]
0x01,0x6a,0x85,0x80

# CHECK: s_sub_u32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x85,0x80]
0x01,0x6b,0x85,0x80

# CHECK: s_sub_u32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x85,0x80]
0x01,0x7c,0x85,0x80

# CHECK: s_sub_u32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x85,0x80]
0x01,0x7e,0x85,0x80

# CHECK: s_sub_u32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x85,0x80]
0x01,0x7f,0x85,0x80

# CHECK: s_sub_u32 s5, s1, 0                     ; encoding: [0x01,0x80,0x85,0x80]
0x01,0x80,0x85,0x80

# CHECK: s_sub_u32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x85,0x80]
0x01,0xc1,0x85,0x80

# CHECK: s_sub_u32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x85,0x80]
0x01,0xf0,0x85,0x80

# CHECK: s_sub_u32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x85,0x80]
0x01,0xf7,0x85,0x80

# CHECK: s_sub_u32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf

# CHECK: s_sub_u32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f

# CHECK: s_add_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x81]
0x01,0x02,0x05,0x81

# CHECK: s_add_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x81]
0x01,0x02,0x65,0x81

# CHECK: s_add_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x81]
0x01,0x02,0x66,0x81

# CHECK: s_add_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x81]
0x01,0x02,0x67,0x81

# CHECK: s_add_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x81]
0x01,0x02,0x6a,0x81

# CHECK: s_add_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x81]
0x01,0x02,0x6b,0x81

# CHECK: s_add_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x81]
0x01,0x02,0x7c,0x81

# CHECK: s_add_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x81]
0x01,0x02,0x7e,0x81

# CHECK: s_add_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x81]
0x01,0x02,0x7f,0x81

# CHECK: s_add_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x81]
0x65,0x02,0x05,0x81

# CHECK: s_add_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x81]
0x66,0x02,0x05,0x81

# CHECK: s_add_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x81]
0x67,0x02,0x05,0x81

# CHECK: s_add_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x81]
0x6a,0x02,0x05,0x81

# CHECK: s_add_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x81]
0x6b,0x02,0x05,0x81

# CHECK: s_add_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x81]
0x7c,0x02,0x05,0x81

# CHECK: s_add_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x81]
0x7e,0x02,0x05,0x81

# CHECK: s_add_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x81]
0x7f,0x02,0x05,0x81

# CHECK: s_add_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x81]
0x80,0x02,0x05,0x81

# CHECK: s_add_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x81]
0xc1,0x02,0x05,0x81

# CHECK: s_add_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x81]
0xf0,0x02,0x05,0x81

# CHECK: s_add_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x81]
0xf7,0x02,0x05,0x81

# CHECK: s_add_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf

# CHECK: s_add_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f

# CHECK: s_add_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x81]
0x01,0x65,0x05,0x81

# CHECK: s_add_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x81]
0x01,0x66,0x05,0x81

# CHECK: s_add_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x81]
0x01,0x67,0x05,0x81

# CHECK: s_add_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x81]
0x01,0x6a,0x05,0x81

# CHECK: s_add_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x81]
0x01,0x6b,0x05,0x81

# CHECK: s_add_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x81]
0x01,0x7c,0x05,0x81

# CHECK: s_add_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x81]
0x01,0x7e,0x05,0x81

# CHECK: s_add_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x81]
0x01,0x7f,0x05,0x81

# CHECK: s_add_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x81]
0x01,0x80,0x05,0x81

# CHECK: s_add_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x81]
0x01,0xc1,0x05,0x81

# CHECK: s_add_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x81]
0x01,0xf0,0x05,0x81

# CHECK: s_add_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x81]
0x01,0xf7,0x05,0x81

# CHECK: s_add_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf

# CHECK: s_add_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f

# CHECK: s_sub_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x85,0x81]
0x01,0x02,0x85,0x81

# CHECK: s_sub_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0xe5,0x81]
0x01,0x02,0xe5,0x81

# CHECK: s_sub_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0xe6,0x81]
0x01,0x02,0xe6,0x81

# CHECK: s_sub_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0xe7,0x81]
0x01,0x02,0xe7,0x81

# CHECK: s_sub_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0xea,0x81]
0x01,0x02,0xea,0x81

# CHECK: s_sub_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0xeb,0x81]
0x01,0x02,0xeb,0x81

# CHECK: s_sub_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0xfc,0x81]
0x01,0x02,0xfc,0x81

# CHECK: s_sub_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0xfe,0x81]
0x01,0x02,0xfe,0x81

# CHECK: s_sub_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0xff,0x81]
0x01,0x02,0xff,0x81

# CHECK: s_sub_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x85,0x81]
0x65,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x85,0x81]
0x66,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x85,0x81]
0x67,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x85,0x81]
0x6a,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x85,0x81]
0x6b,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x85,0x81]
0x7c,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x85,0x81]
0x7e,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x85,0x81]
0x7f,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x85,0x81]
0x80,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x85,0x81]
0xc1,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x85,0x81]
0xf0,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x85,0x81]
0xf7,0x02,0x85,0x81

# CHECK: s_sub_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf

# CHECK: s_sub_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f

# CHECK: s_sub_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x85,0x81]
0x01,0x65,0x85,0x81

# CHECK: s_sub_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x85,0x81]
0x01,0x66,0x85,0x81

# CHECK: s_sub_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x85,0x81]
0x01,0x67,0x85,0x81

# CHECK: s_sub_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x85,0x81]
0x01,0x6a,0x85,0x81

# CHECK: s_sub_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x85,0x81]
0x01,0x6b,0x85,0x81

# CHECK: s_sub_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x85,0x81]
0x01,0x7c,0x85,0x81

# CHECK: s_sub_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x85,0x81]
0x01,0x7e,0x85,0x81

# CHECK: s_sub_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x85,0x81]
0x01,0x7f,0x85,0x81

# CHECK: s_sub_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x85,0x81]
0x01,0x80,0x85,0x81

# CHECK: s_sub_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x85,0x81]
0x01,0xc1,0x85,0x81

# CHECK: s_sub_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x85,0x81]
0x01,0xf0,0x85,0x81

# CHECK: s_sub_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x85,0x81]
0x01,0xf7,0x85,0x81

# CHECK: s_sub_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf

# CHECK: s_sub_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f

# CHECK: s_addc_u32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x82]
0x01,0x02,0x05,0x82

# CHECK: s_addc_u32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x82]
0x01,0x02,0x65,0x82

# CHECK: s_addc_u32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x82]
0x01,0x02,0x66,0x82

# CHECK: s_addc_u32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x82]
0x01,0x02,0x67,0x82

# CHECK: s_addc_u32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x82]
0x01,0x02,0x6a,0x82

# CHECK: s_addc_u32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x82]
0x01,0x02,0x6b,0x82

# CHECK: s_addc_u32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x82]
0x01,0x02,0x7c,0x82

# CHECK: s_addc_u32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x82]
0x01,0x02,0x7e,0x82

# CHECK: s_addc_u32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x82]
0x01,0x02,0x7f,0x82

# CHECK: s_addc_u32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x82]
0x65,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x82]
0x66,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x82]
0x67,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x82]
0x6a,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x82]
0x6b,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x82]
0x7c,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x82]
0x7e,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x82]
0x7f,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x82]
0x80,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x82]
0xc1,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x82]
0xf0,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x82]
0xf7,0x02,0x05,0x82

# CHECK: s_addc_u32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf

# CHECK: s_addc_u32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f

# CHECK: s_addc_u32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x82]
0x01,0x65,0x05,0x82

# CHECK: s_addc_u32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x82]
0x01,0x66,0x05,0x82

# CHECK: s_addc_u32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x82]
0x01,0x67,0x05,0x82

# CHECK: s_addc_u32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x82]
0x01,0x6a,0x05,0x82

# CHECK: s_addc_u32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x82]
0x01,0x6b,0x05,0x82

# CHECK: s_addc_u32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x82]
0x01,0x7c,0x05,0x82

# CHECK: s_addc_u32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x82]
0x01,0x7e,0x05,0x82

# CHECK: s_addc_u32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x82]
0x01,0x7f,0x05,0x82

# CHECK: s_addc_u32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x82]
0x01,0x80,0x05,0x82

# CHECK: s_addc_u32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x82]
0x01,0xc1,0x05,0x82

# CHECK: s_addc_u32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x82]
0x01,0xf0,0x05,0x82

# CHECK: s_addc_u32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x82]
0x01,0xf7,0x05,0x82

# CHECK: s_addc_u32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf

# CHECK: s_addc_u32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f

# CHECK: s_subb_u32 s5, s1, s2                   ; encoding: [0x01,0x02,0x85,0x82]
0x01,0x02,0x85,0x82

# CHECK: s_subb_u32 s101, s1, s2                 ; encoding: [0x01,0x02,0xe5,0x82]
0x01,0x02,0xe5,0x82

# CHECK: s_subb_u32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0xe6,0x82]
0x01,0x02,0xe6,0x82

# CHECK: s_subb_u32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0xe7,0x82]
0x01,0x02,0xe7,0x82

# CHECK: s_subb_u32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0xea,0x82]
0x01,0x02,0xea,0x82

# CHECK: s_subb_u32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0xeb,0x82]
0x01,0x02,0xeb,0x82

# CHECK: s_subb_u32 m0, s1, s2                   ; encoding: [0x01,0x02,0xfc,0x82]
0x01,0x02,0xfc,0x82

# CHECK: s_subb_u32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0xfe,0x82]
0x01,0x02,0xfe,0x82

# CHECK: s_subb_u32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0xff,0x82]
0x01,0x02,0xff,0x82

# CHECK: s_subb_u32 s5, s101, s2                 ; encoding: [0x65,0x02,0x85,0x82]
0x65,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x85,0x82]
0x66,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x85,0x82]
0x67,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x85,0x82]
0x6a,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x85,0x82]
0x6b,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x85,0x82]
0x7c,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x85,0x82]
0x7e,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x85,0x82]
0x7f,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, 0, s2                    ; encoding: [0x80,0x02,0x85,0x82]
0x80,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x85,0x82]
0xc1,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x85,0x82]
0xf0,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x85,0x82]
0xf7,0x02,0x85,0x82

# CHECK: s_subb_u32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf

# CHECK: s_subb_u32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f

# CHECK: s_subb_u32 s5, s1, s101                 ; encoding: [0x01,0x65,0x85,0x82]
0x01,0x65,0x85,0x82

# CHECK: s_subb_u32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x85,0x82]
0x01,0x66,0x85,0x82

# CHECK: s_subb_u32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x85,0x82]
0x01,0x67,0x85,0x82

# CHECK: s_subb_u32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x85,0x82]
0x01,0x6a,0x85,0x82

# CHECK: s_subb_u32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x85,0x82]
0x01,0x6b,0x85,0x82

# CHECK: s_subb_u32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x85,0x82]
0x01,0x7c,0x85,0x82

# CHECK: s_subb_u32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x85,0x82]
0x01,0x7e,0x85,0x82

# CHECK: s_subb_u32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x85,0x82]
0x01,0x7f,0x85,0x82

# CHECK: s_subb_u32 s5, s1, 0                    ; encoding: [0x01,0x80,0x85,0x82]
0x01,0x80,0x85,0x82

# CHECK: s_subb_u32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x85,0x82]
0x01,0xc1,0x85,0x82

# CHECK: s_subb_u32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x85,0x82]
0x01,0xf0,0x85,0x82

# CHECK: s_subb_u32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x85,0x82]
0x01,0xf7,0x85,0x82

# CHECK: s_subb_u32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf

# CHECK: s_subb_u32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f

# CHECK: s_min_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x83]
0x01,0x02,0x05,0x83

# CHECK: s_min_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x83]
0x01,0x02,0x65,0x83

# CHECK: s_min_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x83]
0x01,0x02,0x66,0x83

# CHECK: s_min_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x83]
0x01,0x02,0x67,0x83

# CHECK: s_min_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x83]
0x01,0x02,0x6a,0x83

# CHECK: s_min_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x83]
0x01,0x02,0x6b,0x83

# CHECK: s_min_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x83]
0x01,0x02,0x7c,0x83

# CHECK: s_min_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x83]
0x01,0x02,0x7e,0x83

# CHECK: s_min_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x83]
0x01,0x02,0x7f,0x83

# CHECK: s_min_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x83]
0x65,0x02,0x05,0x83

# CHECK: s_min_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x83]
0x66,0x02,0x05,0x83

# CHECK: s_min_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x83]
0x67,0x02,0x05,0x83

# CHECK: s_min_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x83]
0x6a,0x02,0x05,0x83

# CHECK: s_min_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x83]
0x6b,0x02,0x05,0x83

# CHECK: s_min_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x83]
0x7c,0x02,0x05,0x83

# CHECK: s_min_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x83]
0x7e,0x02,0x05,0x83

# CHECK: s_min_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x83]
0x7f,0x02,0x05,0x83

# CHECK: s_min_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x83]
0x80,0x02,0x05,0x83

# CHECK: s_min_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x83]
0xc1,0x02,0x05,0x83

# CHECK: s_min_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x83]
0xf0,0x02,0x05,0x83

# CHECK: s_min_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x83]
0xf7,0x02,0x05,0x83

# CHECK: s_min_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf

# CHECK: s_min_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f

# CHECK: s_min_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x83]
0x01,0x65,0x05,0x83

# CHECK: s_min_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x83]
0x01,0x66,0x05,0x83

# CHECK: s_min_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x83]
0x01,0x67,0x05,0x83

# CHECK: s_min_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x83]
0x01,0x6a,0x05,0x83

# CHECK: s_min_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x83]
0x01,0x6b,0x05,0x83

# CHECK: s_min_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x83]
0x01,0x7c,0x05,0x83

# CHECK: s_min_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x83]
0x01,0x7e,0x05,0x83

# CHECK: s_min_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x83]
0x01,0x7f,0x05,0x83

# CHECK: s_min_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x83]
0x01,0x80,0x05,0x83

# CHECK: s_min_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x83]
0x01,0xc1,0x05,0x83

# CHECK: s_min_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x83]
0x01,0xf0,0x05,0x83

# CHECK: s_min_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x83]
0x01,0xf7,0x05,0x83

# CHECK: s_min_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf

# CHECK: s_min_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f

# CHECK: s_min_u32 s5, s1, s2                    ; encoding: [0x01,0x02,0x85,0x83]
0x01,0x02,0x85,0x83

# CHECK: s_min_u32 s101, s1, s2                  ; encoding: [0x01,0x02,0xe5,0x83]
0x01,0x02,0xe5,0x83

# CHECK: s_min_u32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0xe6,0x83]
0x01,0x02,0xe6,0x83

# CHECK: s_min_u32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0xe7,0x83]
0x01,0x02,0xe7,0x83

# CHECK: s_min_u32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0xea,0x83]
0x01,0x02,0xea,0x83

# CHECK: s_min_u32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0xeb,0x83]
0x01,0x02,0xeb,0x83

# CHECK: s_min_u32 m0, s1, s2                    ; encoding: [0x01,0x02,0xfc,0x83]
0x01,0x02,0xfc,0x83

# CHECK: s_min_u32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0xfe,0x83]
0x01,0x02,0xfe,0x83

# CHECK: s_min_u32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0xff,0x83]
0x01,0x02,0xff,0x83

# CHECK: s_min_u32 s5, s101, s2                  ; encoding: [0x65,0x02,0x85,0x83]
0x65,0x02,0x85,0x83

# CHECK: s_min_u32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x85,0x83]
0x66,0x02,0x85,0x83

# CHECK: s_min_u32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x85,0x83]
0x67,0x02,0x85,0x83

# CHECK: s_min_u32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x85,0x83]
0x6a,0x02,0x85,0x83

# CHECK: s_min_u32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x85,0x83]
0x6b,0x02,0x85,0x83

# CHECK: s_min_u32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x85,0x83]
0x7c,0x02,0x85,0x83

# CHECK: s_min_u32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x85,0x83]
0x7e,0x02,0x85,0x83

# CHECK: s_min_u32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x85,0x83]
0x7f,0x02,0x85,0x83

# CHECK: s_min_u32 s5, 0, s2                     ; encoding: [0x80,0x02,0x85,0x83]
0x80,0x02,0x85,0x83

# CHECK: s_min_u32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x85,0x83]
0xc1,0x02,0x85,0x83

# CHECK: s_min_u32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x85,0x83]
0xf0,0x02,0x85,0x83

# CHECK: s_min_u32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x85,0x83]
0xf7,0x02,0x85,0x83

# CHECK: s_min_u32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf

# CHECK: s_min_u32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f

# CHECK: s_min_u32 s5, s1, s101                  ; encoding: [0x01,0x65,0x85,0x83]
0x01,0x65,0x85,0x83

# CHECK: s_min_u32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x85,0x83]
0x01,0x66,0x85,0x83

# CHECK: s_min_u32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x85,0x83]
0x01,0x67,0x85,0x83

# CHECK: s_min_u32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x85,0x83]
0x01,0x6a,0x85,0x83

# CHECK: s_min_u32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x85,0x83]
0x01,0x6b,0x85,0x83

# CHECK: s_min_u32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x85,0x83]
0x01,0x7c,0x85,0x83

# CHECK: s_min_u32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x85,0x83]
0x01,0x7e,0x85,0x83

# CHECK: s_min_u32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x85,0x83]
0x01,0x7f,0x85,0x83

# CHECK: s_min_u32 s5, s1, 0                     ; encoding: [0x01,0x80,0x85,0x83]
0x01,0x80,0x85,0x83

# CHECK: s_min_u32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x85,0x83]
0x01,0xc1,0x85,0x83

# CHECK: s_min_u32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x85,0x83]
0x01,0xf0,0x85,0x83

# CHECK: s_min_u32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x85,0x83]
0x01,0xf7,0x85,0x83

# CHECK: s_min_u32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf

# CHECK: s_min_u32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f

# CHECK: s_max_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x84]
0x01,0x02,0x05,0x84

# CHECK: s_max_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x84]
0x01,0x02,0x65,0x84

# CHECK: s_max_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x84]
0x01,0x02,0x66,0x84

# CHECK: s_max_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x84]
0x01,0x02,0x67,0x84

# CHECK: s_max_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x84]
0x01,0x02,0x6a,0x84

# CHECK: s_max_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x84]
0x01,0x02,0x6b,0x84

# CHECK: s_max_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x84]
0x01,0x02,0x7c,0x84

# CHECK: s_max_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x84]
0x01,0x02,0x7e,0x84

# CHECK: s_max_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x84]
0x01,0x02,0x7f,0x84

# CHECK: s_max_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x84]
0x65,0x02,0x05,0x84

# CHECK: s_max_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x84]
0x66,0x02,0x05,0x84

# CHECK: s_max_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x84]
0x67,0x02,0x05,0x84

# CHECK: s_max_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x84]
0x6a,0x02,0x05,0x84

# CHECK: s_max_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x84]
0x6b,0x02,0x05,0x84

# CHECK: s_max_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x84]
0x7c,0x02,0x05,0x84

# CHECK: s_max_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x84]
0x7e,0x02,0x05,0x84

# CHECK: s_max_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x84]
0x7f,0x02,0x05,0x84

# CHECK: s_max_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x84]
0x80,0x02,0x05,0x84

# CHECK: s_max_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x84]
0xc1,0x02,0x05,0x84

# CHECK: s_max_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x84]
0xf0,0x02,0x05,0x84

# CHECK: s_max_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x84]
0xf7,0x02,0x05,0x84

# CHECK: s_max_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf

# CHECK: s_max_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f

# CHECK: s_max_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x84]
0x01,0x65,0x05,0x84

# CHECK: s_max_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x84]
0x01,0x66,0x05,0x84

# CHECK: s_max_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x84]
0x01,0x67,0x05,0x84

# CHECK: s_max_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x84]
0x01,0x6a,0x05,0x84

# CHECK: s_max_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x84]
0x01,0x6b,0x05,0x84

# CHECK: s_max_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x84]
0x01,0x7c,0x05,0x84

# CHECK: s_max_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x84]
0x01,0x7e,0x05,0x84

# CHECK: s_max_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x84]
0x01,0x7f,0x05,0x84

# CHECK: s_max_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x84]
0x01,0x80,0x05,0x84

# CHECK: s_max_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x84]
0x01,0xc1,0x05,0x84

# CHECK: s_max_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x84]
0x01,0xf0,0x05,0x84

# CHECK: s_max_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x84]
0x01,0xf7,0x05,0x84

# CHECK: s_max_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf

# CHECK: s_max_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f

# CHECK: s_max_u32 s5, s1, s2                    ; encoding: [0x01,0x02,0x85,0x84]
0x01,0x02,0x85,0x84

# CHECK: s_max_u32 s101, s1, s2                  ; encoding: [0x01,0x02,0xe5,0x84]
0x01,0x02,0xe5,0x84

# CHECK: s_max_u32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0xe6,0x84]
0x01,0x02,0xe6,0x84

# CHECK: s_max_u32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0xe7,0x84]
0x01,0x02,0xe7,0x84

# CHECK: s_max_u32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0xea,0x84]
0x01,0x02,0xea,0x84

# CHECK: s_max_u32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0xeb,0x84]
0x01,0x02,0xeb,0x84

# CHECK: s_max_u32 m0, s1, s2                    ; encoding: [0x01,0x02,0xfc,0x84]
0x01,0x02,0xfc,0x84

# CHECK: s_max_u32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0xfe,0x84]
0x01,0x02,0xfe,0x84

# CHECK: s_max_u32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0xff,0x84]
0x01,0x02,0xff,0x84

# CHECK: s_max_u32 s5, s101, s2                  ; encoding: [0x65,0x02,0x85,0x84]
0x65,0x02,0x85,0x84

# CHECK: s_max_u32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x85,0x84]
0x66,0x02,0x85,0x84

# CHECK: s_max_u32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x85,0x84]
0x67,0x02,0x85,0x84

# CHECK: s_max_u32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x85,0x84]
0x6a,0x02,0x85,0x84

# CHECK: s_max_u32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x85,0x84]
0x6b,0x02,0x85,0x84

# CHECK: s_max_u32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x85,0x84]
0x7c,0x02,0x85,0x84

# CHECK: s_max_u32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x85,0x84]
0x7e,0x02,0x85,0x84

# CHECK: s_max_u32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x85,0x84]
0x7f,0x02,0x85,0x84

# CHECK: s_max_u32 s5, 0, s2                     ; encoding: [0x80,0x02,0x85,0x84]
0x80,0x02,0x85,0x84

# CHECK: s_max_u32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x85,0x84]
0xc1,0x02,0x85,0x84

# CHECK: s_max_u32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x85,0x84]
0xf0,0x02,0x85,0x84

# CHECK: s_max_u32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x85,0x84]
0xf7,0x02,0x85,0x84

# CHECK: s_max_u32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf

# CHECK: s_max_u32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f

# CHECK: s_max_u32 s5, s1, s101                  ; encoding: [0x01,0x65,0x85,0x84]
0x01,0x65,0x85,0x84

# CHECK: s_max_u32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x85,0x84]
0x01,0x66,0x85,0x84

# CHECK: s_max_u32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x85,0x84]
0x01,0x67,0x85,0x84

# CHECK: s_max_u32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x85,0x84]
0x01,0x6a,0x85,0x84

# CHECK: s_max_u32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x85,0x84]
0x01,0x6b,0x85,0x84

# CHECK: s_max_u32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x85,0x84]
0x01,0x7c,0x85,0x84

# CHECK: s_max_u32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x85,0x84]
0x01,0x7e,0x85,0x84

# CHECK: s_max_u32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x85,0x84]
0x01,0x7f,0x85,0x84

# CHECK: s_max_u32 s5, s1, 0                     ; encoding: [0x01,0x80,0x85,0x84]
0x01,0x80,0x85,0x84

# CHECK: s_max_u32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x85,0x84]
0x01,0xc1,0x85,0x84

# CHECK: s_max_u32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x85,0x84]
0x01,0xf0,0x85,0x84

# CHECK: s_max_u32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x85,0x84]
0x01,0xf7,0x85,0x84

# CHECK: s_max_u32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf

# CHECK: s_max_u32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f

# CHECK: s_cselect_b32 s5, s1, s2                ; encoding: [0x01,0x02,0x05,0x85]
0x01,0x02,0x05,0x85

# CHECK: s_cselect_b32 s101, s1, s2              ; encoding: [0x01,0x02,0x65,0x85]
0x01,0x02,0x65,0x85

# CHECK: s_cselect_b32 flat_scratch_lo, s1, s2   ; encoding: [0x01,0x02,0x66,0x85]
0x01,0x02,0x66,0x85

# CHECK: s_cselect_b32 flat_scratch_hi, s1, s2   ; encoding: [0x01,0x02,0x67,0x85]
0x01,0x02,0x67,0x85

# CHECK: s_cselect_b32 vcc_lo, s1, s2            ; encoding: [0x01,0x02,0x6a,0x85]
0x01,0x02,0x6a,0x85

# CHECK: s_cselect_b32 vcc_hi, s1, s2            ; encoding: [0x01,0x02,0x6b,0x85]
0x01,0x02,0x6b,0x85

# CHECK: s_cselect_b32 m0, s1, s2                ; encoding: [0x01,0x02,0x7c,0x85]
0x01,0x02,0x7c,0x85

# CHECK: s_cselect_b32 exec_lo, s1, s2           ; encoding: [0x01,0x02,0x7e,0x85]
0x01,0x02,0x7e,0x85

# CHECK: s_cselect_b32 exec_hi, s1, s2           ; encoding: [0x01,0x02,0x7f,0x85]
0x01,0x02,0x7f,0x85

# CHECK: s_cselect_b32 s5, s101, s2              ; encoding: [0x65,0x02,0x05,0x85]
0x65,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, flat_scratch_lo, s2   ; encoding: [0x66,0x02,0x05,0x85]
0x66,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, flat_scratch_hi, s2   ; encoding: [0x67,0x02,0x05,0x85]
0x67,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, vcc_lo, s2            ; encoding: [0x6a,0x02,0x05,0x85]
0x6a,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, vcc_hi, s2            ; encoding: [0x6b,0x02,0x05,0x85]
0x6b,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, m0, s2                ; encoding: [0x7c,0x02,0x05,0x85]
0x7c,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, exec_lo, s2           ; encoding: [0x7e,0x02,0x05,0x85]
0x7e,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, exec_hi, s2           ; encoding: [0x7f,0x02,0x05,0x85]
0x7f,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, 0, s2                 ; encoding: [0x80,0x02,0x05,0x85]
0x80,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, -1, s2                ; encoding: [0xc1,0x02,0x05,0x85]
0xc1,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, 0.5, s2               ; encoding: [0xf0,0x02,0x05,0x85]
0xf0,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, -4.0, s2              ; encoding: [0xf7,0x02,0x05,0x85]
0xf7,0x02,0x05,0x85

# CHECK: s_cselect_b32 s5, 0xaf123456, s2        ; encoding: [0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf

# CHECK: s_cselect_b32 s5, 0x3f717273, s2        ; encoding: [0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f

# CHECK: s_cselect_b32 s5, s1, s101              ; encoding: [0x01,0x65,0x05,0x85]
0x01,0x65,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, flat_scratch_lo   ; encoding: [0x01,0x66,0x05,0x85]
0x01,0x66,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, flat_scratch_hi   ; encoding: [0x01,0x67,0x05,0x85]
0x01,0x67,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, vcc_lo            ; encoding: [0x01,0x6a,0x05,0x85]
0x01,0x6a,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, vcc_hi            ; encoding: [0x01,0x6b,0x05,0x85]
0x01,0x6b,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, m0                ; encoding: [0x01,0x7c,0x05,0x85]
0x01,0x7c,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, exec_lo           ; encoding: [0x01,0x7e,0x05,0x85]
0x01,0x7e,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, exec_hi           ; encoding: [0x01,0x7f,0x05,0x85]
0x01,0x7f,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, 0                 ; encoding: [0x01,0x80,0x05,0x85]
0x01,0x80,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, -1                ; encoding: [0x01,0xc1,0x05,0x85]
0x01,0xc1,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, 0.5               ; encoding: [0x01,0xf0,0x05,0x85]
0x01,0xf0,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, -4.0              ; encoding: [0x01,0xf7,0x05,0x85]
0x01,0xf7,0x05,0x85

# CHECK: s_cselect_b32 s5, s1, 0xaf123456        ; encoding: [0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf

# CHECK: s_cselect_b32 s5, s1, 0x3f717273        ; encoding: [0x01,0xff,0x05,0x85,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x85,0x73,0x72,0x71,0x3f

# CHECK: s_cselect_b64 s[10:11], s[2:3], s[4:5]  ; encoding: [0x02,0x04,0x8a,0x85]
0x02,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[12:13], s[2:3], s[4:5]  ; encoding: [0x02,0x04,0x8c,0x85]
0x02,0x04,0x8c,0x85

# CHECK: s_cselect_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x85]
0x02,0x04,0xe4,0x85

# CHECK: s_cselect_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x85]
0x02,0x04,0xe6,0x85

# CHECK: s_cselect_b64 vcc, s[2:3], s[4:5]       ; encoding: [0x02,0x04,0xea,0x85]
0x02,0x04,0xea,0x85

# CHECK: s_cselect_b64 exec, s[2:3], s[4:5]      ; encoding: [0x02,0x04,0xfe,0x85]
0x02,0x04,0xfe,0x85

# CHECK: s_cselect_b64 s[10:11], s[4:5], s[4:5]  ; encoding: [0x04,0x04,0x8a,0x85]
0x04,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x85]
0x64,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x85]
0x66,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], vcc, s[4:5]     ; encoding: [0x6a,0x04,0x8a,0x85]
0x6a,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], exec, s[4:5]    ; encoding: [0x7e,0x04,0x8a,0x85]
0x7e,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], 0, s[4:5]       ; encoding: [0x80,0x04,0x8a,0x85]
0x80,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], -1, s[4:5]      ; encoding: [0xc1,0x04,0x8a,0x85]
0xc1,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], 0.5, s[4:5]     ; encoding: [0xf0,0x04,0x8a,0x85]
0xf0,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], -4.0, s[4:5]    ; encoding: [0xf7,0x04,0x8a,0x85]
0xf7,0x04,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf

# CHECK: s_cselect_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f

# CHECK: s_cselect_b64 s[10:11], s[2:3], s[6:7]  ; encoding: [0x02,0x06,0x8a,0x85]
0x02,0x06,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x85]
0x02,0x64,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x85]
0x02,0x66,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], vcc     ; encoding: [0x02,0x6a,0x8a,0x85]
0x02,0x6a,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], exec    ; encoding: [0x02,0x7e,0x8a,0x85]
0x02,0x7e,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], 0       ; encoding: [0x02,0x80,0x8a,0x85]
0x02,0x80,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], -1      ; encoding: [0x02,0xc1,0x8a,0x85]
0x02,0xc1,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], 0.5     ; encoding: [0x02,0xf0,0x8a,0x85]
0x02,0xf0,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], -4.0    ; encoding: [0x02,0xf7,0x8a,0x85]
0x02,0xf7,0x8a,0x85

# CHECK: s_cselect_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x85,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x85,0x56,0x34,0x12,0xaf

# CHECK: s_cselect_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x85,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x85,0x73,0x72,0x71,0x3f

# CHECK: s_and_b32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x86]
0x01,0x02,0x05,0x86

# CHECK: s_and_b32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x86]
0x01,0x02,0x65,0x86

# CHECK: s_and_b32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x86]
0x01,0x02,0x66,0x86

# CHECK: s_and_b32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x86]
0x01,0x02,0x67,0x86

# CHECK: s_and_b32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x86]
0x01,0x02,0x6a,0x86

# CHECK: s_and_b32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x86]
0x01,0x02,0x6b,0x86

# CHECK: s_and_b32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x86]
0x01,0x02,0x7c,0x86

# CHECK: s_and_b32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x86]
0x01,0x02,0x7e,0x86

# CHECK: s_and_b32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x86]
0x01,0x02,0x7f,0x86

# CHECK: s_and_b32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x86]
0x65,0x02,0x05,0x86

# CHECK: s_and_b32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x86]
0x66,0x02,0x05,0x86

# CHECK: s_and_b32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x86]
0x67,0x02,0x05,0x86

# CHECK: s_and_b32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x86]
0x6a,0x02,0x05,0x86

# CHECK: s_and_b32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x86]
0x6b,0x02,0x05,0x86

# CHECK: s_and_b32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x86]
0x7c,0x02,0x05,0x86

# CHECK: s_and_b32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x86]
0x7e,0x02,0x05,0x86

# CHECK: s_and_b32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x86]
0x7f,0x02,0x05,0x86

# CHECK: s_and_b32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x86]
0x80,0x02,0x05,0x86

# CHECK: s_and_b32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x86]
0xc1,0x02,0x05,0x86

# CHECK: s_and_b32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x86]
0xf0,0x02,0x05,0x86

# CHECK: s_and_b32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x86]
0xf7,0x02,0x05,0x86

# CHECK: s_and_b32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf

# CHECK: s_and_b32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f

# CHECK: s_and_b32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x86]
0x01,0x65,0x05,0x86

# CHECK: s_and_b32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x86]
0x01,0x66,0x05,0x86

# CHECK: s_and_b32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x86]
0x01,0x67,0x05,0x86

# CHECK: s_and_b32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x86]
0x01,0x6a,0x05,0x86

# CHECK: s_and_b32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x86]
0x01,0x6b,0x05,0x86

# CHECK: s_and_b32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x86]
0x01,0x7c,0x05,0x86

# CHECK: s_and_b32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x86]
0x01,0x7e,0x05,0x86

# CHECK: s_and_b32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x86]
0x01,0x7f,0x05,0x86

# CHECK: s_and_b32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x86]
0x01,0x80,0x05,0x86

# CHECK: s_and_b32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x86]
0x01,0xc1,0x05,0x86

# CHECK: s_and_b32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x86]
0x01,0xf0,0x05,0x86

# CHECK: s_and_b32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x86]
0x01,0xf7,0x05,0x86

# CHECK: s_and_b32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf

# CHECK: s_and_b32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x86,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x86,0x73,0x72,0x71,0x3f

# CHECK: s_and_b64 s[10:11], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8a,0x86]
0x02,0x04,0x8a,0x86

# CHECK: s_and_b64 s[12:13], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8c,0x86]
0x02,0x04,0x8c,0x86

# CHECK: s_and_b64 s[100:101], s[2:3], s[4:5]    ; encoding: [0x02,0x04,0xe4,0x86]
0x02,0x04,0xe4,0x86

# CHECK: s_and_b64 flat_scratch, s[2:3], s[4:5]  ; encoding: [0x02,0x04,0xe6,0x86]
0x02,0x04,0xe6,0x86

# CHECK: s_and_b64 vcc, s[2:3], s[4:5]           ; encoding: [0x02,0x04,0xea,0x86]
0x02,0x04,0xea,0x86

# CHECK: s_and_b64 exec, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xfe,0x86]
0x02,0x04,0xfe,0x86

# CHECK: s_and_b64 s[10:11], s[4:5], s[4:5]      ; encoding: [0x04,0x04,0x8a,0x86]
0x04,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[100:101], s[4:5]  ; encoding: [0x64,0x04,0x8a,0x86]
0x64,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x86]
0x66,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], vcc, s[4:5]         ; encoding: [0x6a,0x04,0x8a,0x86]
0x6a,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], exec, s[4:5]        ; encoding: [0x7e,0x04,0x8a,0x86]
0x7e,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], 0, s[4:5]           ; encoding: [0x80,0x04,0x8a,0x86]
0x80,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], -1, s[4:5]          ; encoding: [0xc1,0x04,0x8a,0x86]
0xc1,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], 0.5, s[4:5]         ; encoding: [0xf0,0x04,0x8a,0x86]
0xf0,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], -4.0, s[4:5]        ; encoding: [0xf7,0x04,0x8a,0x86]
0xf7,0x04,0x8a,0x86

# CHECK: s_and_b64 s[10:11], 0xaf123456, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf

# CHECK: s_and_b64 s[10:11], 0x3f717273, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f

# CHECK: s_and_b64 s[10:11], s[2:3], s[6:7]      ; encoding: [0x02,0x06,0x8a,0x86]
0x02,0x06,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], s[100:101]  ; encoding: [0x02,0x64,0x8a,0x86]
0x02,0x64,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x86]
0x02,0x66,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], vcc         ; encoding: [0x02,0x6a,0x8a,0x86]
0x02,0x6a,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], exec        ; encoding: [0x02,0x7e,0x8a,0x86]
0x02,0x7e,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], 0           ; encoding: [0x02,0x80,0x8a,0x86]
0x02,0x80,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], -1          ; encoding: [0x02,0xc1,0x8a,0x86]
0x02,0xc1,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], 0.5         ; encoding: [0x02,0xf0,0x8a,0x86]
0x02,0xf0,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], -4.0        ; encoding: [0x02,0xf7,0x8a,0x86]
0x02,0xf7,0x8a,0x86

# CHECK: s_and_b64 s[10:11], s[2:3], 0xaf123456  ; encoding: [0x02,0xff,0x8a,0x86,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x86,0x56,0x34,0x12,0xaf

# CHECK: s_and_b64 s[10:11], s[2:3], 0x3f717273  ; encoding: [0x02,0xff,0x8a,0x86,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x86,0x73,0x72,0x71,0x3f

# CHECK: s_or_b32 s5, s1, s2                     ; encoding: [0x01,0x02,0x05,0x87]
0x01,0x02,0x05,0x87

# CHECK: s_or_b32 s101, s1, s2                   ; encoding: [0x01,0x02,0x65,0x87]
0x01,0x02,0x65,0x87

# CHECK: s_or_b32 flat_scratch_lo, s1, s2        ; encoding: [0x01,0x02,0x66,0x87]
0x01,0x02,0x66,0x87

# CHECK: s_or_b32 flat_scratch_hi, s1, s2        ; encoding: [0x01,0x02,0x67,0x87]
0x01,0x02,0x67,0x87

# CHECK: s_or_b32 vcc_lo, s1, s2                 ; encoding: [0x01,0x02,0x6a,0x87]
0x01,0x02,0x6a,0x87

# CHECK: s_or_b32 vcc_hi, s1, s2                 ; encoding: [0x01,0x02,0x6b,0x87]
0x01,0x02,0x6b,0x87

# CHECK: s_or_b32 m0, s1, s2                     ; encoding: [0x01,0x02,0x7c,0x87]
0x01,0x02,0x7c,0x87

# CHECK: s_or_b32 exec_lo, s1, s2                ; encoding: [0x01,0x02,0x7e,0x87]
0x01,0x02,0x7e,0x87

# CHECK: s_or_b32 exec_hi, s1, s2                ; encoding: [0x01,0x02,0x7f,0x87]
0x01,0x02,0x7f,0x87

# CHECK: s_or_b32 s5, s101, s2                   ; encoding: [0x65,0x02,0x05,0x87]
0x65,0x02,0x05,0x87

# CHECK: s_or_b32 s5, flat_scratch_lo, s2        ; encoding: [0x66,0x02,0x05,0x87]
0x66,0x02,0x05,0x87

# CHECK: s_or_b32 s5, flat_scratch_hi, s2        ; encoding: [0x67,0x02,0x05,0x87]
0x67,0x02,0x05,0x87

# CHECK: s_or_b32 s5, vcc_lo, s2                 ; encoding: [0x6a,0x02,0x05,0x87]
0x6a,0x02,0x05,0x87

# CHECK: s_or_b32 s5, vcc_hi, s2                 ; encoding: [0x6b,0x02,0x05,0x87]
0x6b,0x02,0x05,0x87

# CHECK: s_or_b32 s5, m0, s2                     ; encoding: [0x7c,0x02,0x05,0x87]
0x7c,0x02,0x05,0x87

# CHECK: s_or_b32 s5, exec_lo, s2                ; encoding: [0x7e,0x02,0x05,0x87]
0x7e,0x02,0x05,0x87

# CHECK: s_or_b32 s5, exec_hi, s2                ; encoding: [0x7f,0x02,0x05,0x87]
0x7f,0x02,0x05,0x87

# CHECK: s_or_b32 s5, 0, s2                      ; encoding: [0x80,0x02,0x05,0x87]
0x80,0x02,0x05,0x87

# CHECK: s_or_b32 s5, -1, s2                     ; encoding: [0xc1,0x02,0x05,0x87]
0xc1,0x02,0x05,0x87

# CHECK: s_or_b32 s5, 0.5, s2                    ; encoding: [0xf0,0x02,0x05,0x87]
0xf0,0x02,0x05,0x87

# CHECK: s_or_b32 s5, -4.0, s2                   ; encoding: [0xf7,0x02,0x05,0x87]
0xf7,0x02,0x05,0x87

# CHECK: s_or_b32 s5, 0xaf123456, s2             ; encoding: [0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf

# CHECK: s_or_b32 s5, 0x3f717273, s2             ; encoding: [0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f

# CHECK: s_or_b32 s5, s1, s101                   ; encoding: [0x01,0x65,0x05,0x87]
0x01,0x65,0x05,0x87

# CHECK: s_or_b32 s5, s1, flat_scratch_lo        ; encoding: [0x01,0x66,0x05,0x87]
0x01,0x66,0x05,0x87

# CHECK: s_or_b32 s5, s1, flat_scratch_hi        ; encoding: [0x01,0x67,0x05,0x87]
0x01,0x67,0x05,0x87

# CHECK: s_or_b32 s5, s1, vcc_lo                 ; encoding: [0x01,0x6a,0x05,0x87]
0x01,0x6a,0x05,0x87

# CHECK: s_or_b32 s5, s1, vcc_hi                 ; encoding: [0x01,0x6b,0x05,0x87]
0x01,0x6b,0x05,0x87

# CHECK: s_or_b32 s5, s1, m0                     ; encoding: [0x01,0x7c,0x05,0x87]
0x01,0x7c,0x05,0x87

# CHECK: s_or_b32 s5, s1, exec_lo                ; encoding: [0x01,0x7e,0x05,0x87]
0x01,0x7e,0x05,0x87

# CHECK: s_or_b32 s5, s1, exec_hi                ; encoding: [0x01,0x7f,0x05,0x87]
0x01,0x7f,0x05,0x87

# CHECK: s_or_b32 s5, s1, 0                      ; encoding: [0x01,0x80,0x05,0x87]
0x01,0x80,0x05,0x87

# CHECK: s_or_b32 s5, s1, -1                     ; encoding: [0x01,0xc1,0x05,0x87]
0x01,0xc1,0x05,0x87

# CHECK: s_or_b32 s5, s1, 0.5                    ; encoding: [0x01,0xf0,0x05,0x87]
0x01,0xf0,0x05,0x87

# CHECK: s_or_b32 s5, s1, -4.0                   ; encoding: [0x01,0xf7,0x05,0x87]
0x01,0xf7,0x05,0x87

# CHECK: s_or_b32 s5, s1, 0xaf123456             ; encoding: [0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf

# CHECK: s_or_b32 s5, s1, 0x3f717273             ; encoding: [0x01,0xff,0x05,0x87,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x87,0x73,0x72,0x71,0x3f

# CHECK: s_or_b64 s[10:11], s[2:3], s[4:5]       ; encoding: [0x02,0x04,0x8a,0x87]
0x02,0x04,0x8a,0x87

# CHECK: s_or_b64 s[12:13], s[2:3], s[4:5]       ; encoding: [0x02,0x04,0x8c,0x87]
0x02,0x04,0x8c,0x87

# CHECK: s_or_b64 s[100:101], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0xe4,0x87]
0x02,0x04,0xe4,0x87

# CHECK: s_or_b64 flat_scratch, s[2:3], s[4:5]   ; encoding: [0x02,0x04,0xe6,0x87]
0x02,0x04,0xe6,0x87

# CHECK: s_or_b64 vcc, s[2:3], s[4:5]            ; encoding: [0x02,0x04,0xea,0x87]
0x02,0x04,0xea,0x87

# CHECK: s_or_b64 exec, s[2:3], s[4:5]           ; encoding: [0x02,0x04,0xfe,0x87]
0x02,0x04,0xfe,0x87

# CHECK: s_or_b64 s[10:11], s[4:5], s[4:5]       ; encoding: [0x04,0x04,0x8a,0x87]
0x04,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[100:101], s[4:5]   ; encoding: [0x64,0x04,0x8a,0x87]
0x64,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x87]
0x66,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], vcc, s[4:5]          ; encoding: [0x6a,0x04,0x8a,0x87]
0x6a,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], exec, s[4:5]         ; encoding: [0x7e,0x04,0x8a,0x87]
0x7e,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], 0, s[4:5]            ; encoding: [0x80,0x04,0x8a,0x87]
0x80,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], -1, s[4:5]           ; encoding: [0xc1,0x04,0x8a,0x87]
0xc1,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], 0.5, s[4:5]          ; encoding: [0xf0,0x04,0x8a,0x87]
0xf0,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], -4.0, s[4:5]         ; encoding: [0xf7,0x04,0x8a,0x87]
0xf7,0x04,0x8a,0x87

# CHECK: s_or_b64 s[10:11], 0xaf123456, s[4:5]   ; encoding: [0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf

# CHECK: s_or_b64 s[10:11], 0x3f717273, s[4:5]   ; encoding: [0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f

# CHECK: s_or_b64 s[10:11], s[2:3], s[6:7]       ; encoding: [0x02,0x06,0x8a,0x87]
0x02,0x06,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], s[100:101]   ; encoding: [0x02,0x64,0x8a,0x87]
0x02,0x64,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x87]
0x02,0x66,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], vcc          ; encoding: [0x02,0x6a,0x8a,0x87]
0x02,0x6a,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], exec         ; encoding: [0x02,0x7e,0x8a,0x87]
0x02,0x7e,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], 0            ; encoding: [0x02,0x80,0x8a,0x87]
0x02,0x80,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], -1           ; encoding: [0x02,0xc1,0x8a,0x87]
0x02,0xc1,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], 0.5          ; encoding: [0x02,0xf0,0x8a,0x87]
0x02,0xf0,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], -4.0         ; encoding: [0x02,0xf7,0x8a,0x87]
0x02,0xf7,0x8a,0x87

# CHECK: s_or_b64 s[10:11], s[2:3], 0xaf123456   ; encoding: [0x02,0xff,0x8a,0x87,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x87,0x56,0x34,0x12,0xaf

# CHECK: s_or_b64 s[10:11], s[2:3], 0x3f717273   ; encoding: [0x02,0xff,0x8a,0x87,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x87,0x73,0x72,0x71,0x3f

# CHECK: s_xor_b32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x88]
0x01,0x02,0x05,0x88

# CHECK: s_xor_b32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x88]
0x01,0x02,0x65,0x88

# CHECK: s_xor_b32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x88]
0x01,0x02,0x66,0x88

# CHECK: s_xor_b32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x88]
0x01,0x02,0x67,0x88

# CHECK: s_xor_b32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x88]
0x01,0x02,0x6a,0x88

# CHECK: s_xor_b32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x88]
0x01,0x02,0x6b,0x88

# CHECK: s_xor_b32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x88]
0x01,0x02,0x7c,0x88

# CHECK: s_xor_b32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x88]
0x01,0x02,0x7e,0x88

# CHECK: s_xor_b32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x88]
0x01,0x02,0x7f,0x88

# CHECK: s_xor_b32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x88]
0x65,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x88]
0x66,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x88]
0x67,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x88]
0x6a,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x88]
0x6b,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x88]
0x7c,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x88]
0x7e,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x88]
0x7f,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x88]
0x80,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x88]
0xc1,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x88]
0xf0,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x88]
0xf7,0x02,0x05,0x88

# CHECK: s_xor_b32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf

# CHECK: s_xor_b32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f

# CHECK: s_xor_b32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x88]
0x01,0x65,0x05,0x88

# CHECK: s_xor_b32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x88]
0x01,0x66,0x05,0x88

# CHECK: s_xor_b32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x88]
0x01,0x67,0x05,0x88

# CHECK: s_xor_b32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x88]
0x01,0x6a,0x05,0x88

# CHECK: s_xor_b32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x88]
0x01,0x6b,0x05,0x88

# CHECK: s_xor_b32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x88]
0x01,0x7c,0x05,0x88

# CHECK: s_xor_b32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x88]
0x01,0x7e,0x05,0x88

# CHECK: s_xor_b32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x88]
0x01,0x7f,0x05,0x88

# CHECK: s_xor_b32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x88]
0x01,0x80,0x05,0x88

# CHECK: s_xor_b32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x88]
0x01,0xc1,0x05,0x88

# CHECK: s_xor_b32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x88]
0x01,0xf0,0x05,0x88

# CHECK: s_xor_b32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x88]
0x01,0xf7,0x05,0x88

# CHECK: s_xor_b32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf

# CHECK: s_xor_b32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x88,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x88,0x73,0x72,0x71,0x3f

# CHECK: s_xor_b64 s[10:11], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8a,0x88]
0x02,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[12:13], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8c,0x88]
0x02,0x04,0x8c,0x88

# CHECK: s_xor_b64 s[100:101], s[2:3], s[4:5]    ; encoding: [0x02,0x04,0xe4,0x88]
0x02,0x04,0xe4,0x88

# CHECK: s_xor_b64 flat_scratch, s[2:3], s[4:5]  ; encoding: [0x02,0x04,0xe6,0x88]
0x02,0x04,0xe6,0x88

# CHECK: s_xor_b64 vcc, s[2:3], s[4:5]           ; encoding: [0x02,0x04,0xea,0x88]
0x02,0x04,0xea,0x88

# CHECK: s_xor_b64 exec, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xfe,0x88]
0x02,0x04,0xfe,0x88

# CHECK: s_xor_b64 s[10:11], s[4:5], s[4:5]      ; encoding: [0x04,0x04,0x8a,0x88]
0x04,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[100:101], s[4:5]  ; encoding: [0x64,0x04,0x8a,0x88]
0x64,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x88]
0x66,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], vcc, s[4:5]         ; encoding: [0x6a,0x04,0x8a,0x88]
0x6a,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], exec, s[4:5]        ; encoding: [0x7e,0x04,0x8a,0x88]
0x7e,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], 0, s[4:5]           ; encoding: [0x80,0x04,0x8a,0x88]
0x80,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], -1, s[4:5]          ; encoding: [0xc1,0x04,0x8a,0x88]
0xc1,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], 0.5, s[4:5]         ; encoding: [0xf0,0x04,0x8a,0x88]
0xf0,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], -4.0, s[4:5]        ; encoding: [0xf7,0x04,0x8a,0x88]
0xf7,0x04,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], 0xaf123456, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf

# CHECK: s_xor_b64 s[10:11], 0x3f717273, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f

# CHECK: s_xor_b64 s[10:11], s[2:3], s[6:7]      ; encoding: [0x02,0x06,0x8a,0x88]
0x02,0x06,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], s[100:101]  ; encoding: [0x02,0x64,0x8a,0x88]
0x02,0x64,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x88]
0x02,0x66,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], vcc         ; encoding: [0x02,0x6a,0x8a,0x88]
0x02,0x6a,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], exec        ; encoding: [0x02,0x7e,0x8a,0x88]
0x02,0x7e,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], 0           ; encoding: [0x02,0x80,0x8a,0x88]
0x02,0x80,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], -1          ; encoding: [0x02,0xc1,0x8a,0x88]
0x02,0xc1,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], 0.5         ; encoding: [0x02,0xf0,0x8a,0x88]
0x02,0xf0,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], -4.0        ; encoding: [0x02,0xf7,0x8a,0x88]
0x02,0xf7,0x8a,0x88

# CHECK: s_xor_b64 s[10:11], s[2:3], 0xaf123456  ; encoding: [0x02,0xff,0x8a,0x88,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x88,0x56,0x34,0x12,0xaf

# CHECK: s_xor_b64 s[10:11], s[2:3], 0x3f717273  ; encoding: [0x02,0xff,0x8a,0x88,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x88,0x73,0x72,0x71,0x3f

# CHECK: s_andn2_b32 s5, s1, s2                  ; encoding: [0x01,0x02,0x05,0x89]
0x01,0x02,0x05,0x89

# CHECK: s_andn2_b32 s101, s1, s2                ; encoding: [0x01,0x02,0x65,0x89]
0x01,0x02,0x65,0x89

# CHECK: s_andn2_b32 flat_scratch_lo, s1, s2     ; encoding: [0x01,0x02,0x66,0x89]
0x01,0x02,0x66,0x89

# CHECK: s_andn2_b32 flat_scratch_hi, s1, s2     ; encoding: [0x01,0x02,0x67,0x89]
0x01,0x02,0x67,0x89

# CHECK: s_andn2_b32 vcc_lo, s1, s2              ; encoding: [0x01,0x02,0x6a,0x89]
0x01,0x02,0x6a,0x89

# CHECK: s_andn2_b32 vcc_hi, s1, s2              ; encoding: [0x01,0x02,0x6b,0x89]
0x01,0x02,0x6b,0x89

# CHECK: s_andn2_b32 m0, s1, s2                  ; encoding: [0x01,0x02,0x7c,0x89]
0x01,0x02,0x7c,0x89

# CHECK: s_andn2_b32 exec_lo, s1, s2             ; encoding: [0x01,0x02,0x7e,0x89]
0x01,0x02,0x7e,0x89

# CHECK: s_andn2_b32 exec_hi, s1, s2             ; encoding: [0x01,0x02,0x7f,0x89]
0x01,0x02,0x7f,0x89

# CHECK: s_andn2_b32 s5, s101, s2                ; encoding: [0x65,0x02,0x05,0x89]
0x65,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, flat_scratch_lo, s2     ; encoding: [0x66,0x02,0x05,0x89]
0x66,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, flat_scratch_hi, s2     ; encoding: [0x67,0x02,0x05,0x89]
0x67,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, vcc_lo, s2              ; encoding: [0x6a,0x02,0x05,0x89]
0x6a,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, vcc_hi, s2              ; encoding: [0x6b,0x02,0x05,0x89]
0x6b,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, m0, s2                  ; encoding: [0x7c,0x02,0x05,0x89]
0x7c,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, exec_lo, s2             ; encoding: [0x7e,0x02,0x05,0x89]
0x7e,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, exec_hi, s2             ; encoding: [0x7f,0x02,0x05,0x89]
0x7f,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, 0, s2                   ; encoding: [0x80,0x02,0x05,0x89]
0x80,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, -1, s2                  ; encoding: [0xc1,0x02,0x05,0x89]
0xc1,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, 0.5, s2                 ; encoding: [0xf0,0x02,0x05,0x89]
0xf0,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, -4.0, s2                ; encoding: [0xf7,0x02,0x05,0x89]
0xf7,0x02,0x05,0x89

# CHECK: s_andn2_b32 s5, 0xaf123456, s2          ; encoding: [0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf

# CHECK: s_andn2_b32 s5, 0x3f717273, s2          ; encoding: [0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f

# CHECK: s_andn2_b32 s5, s1, s101                ; encoding: [0x01,0x65,0x05,0x89]
0x01,0x65,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, flat_scratch_lo     ; encoding: [0x01,0x66,0x05,0x89]
0x01,0x66,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, flat_scratch_hi     ; encoding: [0x01,0x67,0x05,0x89]
0x01,0x67,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, vcc_lo              ; encoding: [0x01,0x6a,0x05,0x89]
0x01,0x6a,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, vcc_hi              ; encoding: [0x01,0x6b,0x05,0x89]
0x01,0x6b,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, m0                  ; encoding: [0x01,0x7c,0x05,0x89]
0x01,0x7c,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, exec_lo             ; encoding: [0x01,0x7e,0x05,0x89]
0x01,0x7e,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, exec_hi             ; encoding: [0x01,0x7f,0x05,0x89]
0x01,0x7f,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, 0                   ; encoding: [0x01,0x80,0x05,0x89]
0x01,0x80,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, -1                  ; encoding: [0x01,0xc1,0x05,0x89]
0x01,0xc1,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, 0.5                 ; encoding: [0x01,0xf0,0x05,0x89]
0x01,0xf0,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, -4.0                ; encoding: [0x01,0xf7,0x05,0x89]
0x01,0xf7,0x05,0x89

# CHECK: s_andn2_b32 s5, s1, 0xaf123456          ; encoding: [0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf

# CHECK: s_andn2_b32 s5, s1, 0x3f717273          ; encoding: [0x01,0xff,0x05,0x89,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x89,0x73,0x72,0x71,0x3f

# CHECK: s_andn2_b64 s[10:11], s[2:3], s[4:5]    ; encoding: [0x02,0x04,0x8a,0x89]
0x02,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[12:13], s[2:3], s[4:5]    ; encoding: [0x02,0x04,0x8c,0x89]
0x02,0x04,0x8c,0x89

# CHECK: s_andn2_b64 s[100:101], s[2:3], s[4:5]  ; encoding: [0x02,0x04,0xe4,0x89]
0x02,0x04,0xe4,0x89

# CHECK: s_andn2_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x89]
0x02,0x04,0xe6,0x89

# CHECK: s_andn2_b64 vcc, s[2:3], s[4:5]         ; encoding: [0x02,0x04,0xea,0x89]
0x02,0x04,0xea,0x89

# CHECK: s_andn2_b64 exec, s[2:3], s[4:5]        ; encoding: [0x02,0x04,0xfe,0x89]
0x02,0x04,0xfe,0x89

# CHECK: s_andn2_b64 s[10:11], s[4:5], s[4:5]    ; encoding: [0x04,0x04,0x8a,0x89]
0x04,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x89]
0x64,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x89]
0x66,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], vcc, s[4:5]       ; encoding: [0x6a,0x04,0x8a,0x89]
0x6a,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], exec, s[4:5]      ; encoding: [0x7e,0x04,0x8a,0x89]
0x7e,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], 0, s[4:5]         ; encoding: [0x80,0x04,0x8a,0x89]
0x80,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], -1, s[4:5]        ; encoding: [0xc1,0x04,0x8a,0x89]
0xc1,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], 0.5, s[4:5]       ; encoding: [0xf0,0x04,0x8a,0x89]
0xf0,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], -4.0, s[4:5]      ; encoding: [0xf7,0x04,0x8a,0x89]
0xf7,0x04,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf

# CHECK: s_andn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f

# CHECK: s_andn2_b64 s[10:11], s[2:3], s[6:7]    ; encoding: [0x02,0x06,0x8a,0x89]
0x02,0x06,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x89]
0x02,0x64,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x89]
0x02,0x66,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], vcc       ; encoding: [0x02,0x6a,0x8a,0x89]
0x02,0x6a,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], exec      ; encoding: [0x02,0x7e,0x8a,0x89]
0x02,0x7e,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], 0         ; encoding: [0x02,0x80,0x8a,0x89]
0x02,0x80,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], -1        ; encoding: [0x02,0xc1,0x8a,0x89]
0x02,0xc1,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], 0.5       ; encoding: [0x02,0xf0,0x8a,0x89]
0x02,0xf0,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], -4.0      ; encoding: [0x02,0xf7,0x8a,0x89]
0x02,0xf7,0x8a,0x89

# CHECK: s_andn2_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x89,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x89,0x56,0x34,0x12,0xaf

# CHECK: s_andn2_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x89,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x89,0x73,0x72,0x71,0x3f

# CHECK: s_orn2_b32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x8a]
0x01,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x8a]
0x01,0x02,0x65,0x8a

# CHECK: s_orn2_b32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x8a]
0x01,0x02,0x66,0x8a

# CHECK: s_orn2_b32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x8a]
0x01,0x02,0x67,0x8a

# CHECK: s_orn2_b32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x8a]
0x01,0x02,0x6a,0x8a

# CHECK: s_orn2_b32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x8a]
0x01,0x02,0x6b,0x8a

# CHECK: s_orn2_b32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x8a]
0x01,0x02,0x7c,0x8a

# CHECK: s_orn2_b32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x8a]
0x01,0x02,0x7e,0x8a

# CHECK: s_orn2_b32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x8a]
0x01,0x02,0x7f,0x8a

# CHECK: s_orn2_b32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x8a]
0x65,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x8a]
0x66,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x8a]
0x67,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x8a]
0x6a,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x8a]
0x6b,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x8a]
0x7c,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x8a]
0x7e,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x8a]
0x7f,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x8a]
0x80,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x8a]
0xc1,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x8a]
0xf0,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x8a]
0xf7,0x02,0x05,0x8a

# CHECK: s_orn2_b32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf

# CHECK: s_orn2_b32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f

# CHECK: s_orn2_b32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x8a]
0x01,0x65,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x8a]
0x01,0x66,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x8a]
0x01,0x67,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x8a]
0x01,0x6a,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x8a]
0x01,0x6b,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x8a]
0x01,0x7c,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x8a]
0x01,0x7e,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x8a]
0x01,0x7f,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x8a]
0x01,0x80,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x8a]
0x01,0xc1,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x8a]
0x01,0xf0,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x8a]
0x01,0xf7,0x05,0x8a

# CHECK: s_orn2_b32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf

# CHECK: s_orn2_b32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x8a,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8a,0x73,0x72,0x71,0x3f

# CHECK: s_orn2_b64 s[10:11], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8a,0x8a]
0x02,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[12:13], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8c,0x8a]
0x02,0x04,0x8c,0x8a

# CHECK: s_orn2_b64 s[100:101], s[2:3], s[4:5]   ; encoding: [0x02,0x04,0xe4,0x8a]
0x02,0x04,0xe4,0x8a

# CHECK: s_orn2_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8a]
0x02,0x04,0xe6,0x8a

# CHECK: s_orn2_b64 vcc, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xea,0x8a]
0x02,0x04,0xea,0x8a

# CHECK: s_orn2_b64 exec, s[2:3], s[4:5]         ; encoding: [0x02,0x04,0xfe,0x8a]
0x02,0x04,0xfe,0x8a

# CHECK: s_orn2_b64 s[10:11], s[4:5], s[4:5]     ; encoding: [0x04,0x04,0x8a,0x8a]
0x04,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8a]
0x64,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8a]
0x66,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], vcc, s[4:5]        ; encoding: [0x6a,0x04,0x8a,0x8a]
0x6a,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], exec, s[4:5]       ; encoding: [0x7e,0x04,0x8a,0x8a]
0x7e,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], 0, s[4:5]          ; encoding: [0x80,0x04,0x8a,0x8a]
0x80,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], -1, s[4:5]         ; encoding: [0xc1,0x04,0x8a,0x8a]
0xc1,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], 0.5, s[4:5]        ; encoding: [0xf0,0x04,0x8a,0x8a]
0xf0,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], -4.0, s[4:5]       ; encoding: [0xf7,0x04,0x8a,0x8a]
0xf7,0x04,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf

# CHECK: s_orn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f

# CHECK: s_orn2_b64 s[10:11], s[2:3], s[6:7]     ; encoding: [0x02,0x06,0x8a,0x8a]
0x02,0x06,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8a]
0x02,0x64,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8a]
0x02,0x66,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], vcc        ; encoding: [0x02,0x6a,0x8a,0x8a]
0x02,0x6a,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], exec       ; encoding: [0x02,0x7e,0x8a,0x8a]
0x02,0x7e,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x8a]
0x02,0x80,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x8a]
0x02,0xc1,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x8a]
0x02,0xf0,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x8a]
0x02,0xf7,0x8a,0x8a

# CHECK: s_orn2_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8a,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8a,0x56,0x34,0x12,0xaf

# CHECK: s_orn2_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8a,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8a,0x73,0x72,0x71,0x3f

# CHECK: s_nand_b32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x8b]
0x01,0x02,0x05,0x8b

# CHECK: s_nand_b32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x8b]
0x01,0x02,0x65,0x8b

# CHECK: s_nand_b32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x8b]
0x01,0x02,0x66,0x8b

# CHECK: s_nand_b32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x8b]
0x01,0x02,0x67,0x8b

# CHECK: s_nand_b32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x8b]
0x01,0x02,0x6a,0x8b

# CHECK: s_nand_b32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x8b]
0x01,0x02,0x6b,0x8b

# CHECK: s_nand_b32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x8b]
0x01,0x02,0x7c,0x8b

# CHECK: s_nand_b32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x8b]
0x01,0x02,0x7e,0x8b

# CHECK: s_nand_b32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x8b]
0x01,0x02,0x7f,0x8b

# CHECK: s_nand_b32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x8b]
0x65,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x8b]
0x66,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x8b]
0x67,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x8b]
0x6a,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x8b]
0x6b,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x8b]
0x7c,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x8b]
0x7e,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x8b]
0x7f,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x8b]
0x80,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x8b]
0xc1,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x8b]
0xf0,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x8b]
0xf7,0x02,0x05,0x8b

# CHECK: s_nand_b32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf

# CHECK: s_nand_b32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f

# CHECK: s_nand_b32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x8b]
0x01,0x65,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x8b]
0x01,0x66,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x8b]
0x01,0x67,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x8b]
0x01,0x6a,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x8b]
0x01,0x6b,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x8b]
0x01,0x7c,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x8b]
0x01,0x7e,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x8b]
0x01,0x7f,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x8b]
0x01,0x80,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x8b]
0x01,0xc1,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x8b]
0x01,0xf0,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x8b]
0x01,0xf7,0x05,0x8b

# CHECK: s_nand_b32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf

# CHECK: s_nand_b32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x8b,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8b,0x73,0x72,0x71,0x3f

# CHECK: s_nand_b64 s[10:11], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8a,0x8b]
0x02,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[12:13], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8c,0x8b]
0x02,0x04,0x8c,0x8b

# CHECK: s_nand_b64 s[100:101], s[2:3], s[4:5]   ; encoding: [0x02,0x04,0xe4,0x8b]
0x02,0x04,0xe4,0x8b

# CHECK: s_nand_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8b]
0x02,0x04,0xe6,0x8b

# CHECK: s_nand_b64 vcc, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xea,0x8b]
0x02,0x04,0xea,0x8b

# CHECK: s_nand_b64 exec, s[2:3], s[4:5]         ; encoding: [0x02,0x04,0xfe,0x8b]
0x02,0x04,0xfe,0x8b

# CHECK: s_nand_b64 s[10:11], s[4:5], s[4:5]     ; encoding: [0x04,0x04,0x8a,0x8b]
0x04,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8b]
0x64,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8b]
0x66,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], vcc, s[4:5]        ; encoding: [0x6a,0x04,0x8a,0x8b]
0x6a,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], exec, s[4:5]       ; encoding: [0x7e,0x04,0x8a,0x8b]
0x7e,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], 0, s[4:5]          ; encoding: [0x80,0x04,0x8a,0x8b]
0x80,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], -1, s[4:5]         ; encoding: [0xc1,0x04,0x8a,0x8b]
0xc1,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], 0.5, s[4:5]        ; encoding: [0xf0,0x04,0x8a,0x8b]
0xf0,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], -4.0, s[4:5]       ; encoding: [0xf7,0x04,0x8a,0x8b]
0xf7,0x04,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf

# CHECK: s_nand_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f

# CHECK: s_nand_b64 s[10:11], s[2:3], s[6:7]     ; encoding: [0x02,0x06,0x8a,0x8b]
0x02,0x06,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8b]
0x02,0x64,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8b]
0x02,0x66,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], vcc        ; encoding: [0x02,0x6a,0x8a,0x8b]
0x02,0x6a,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], exec       ; encoding: [0x02,0x7e,0x8a,0x8b]
0x02,0x7e,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x8b]
0x02,0x80,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x8b]
0x02,0xc1,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x8b]
0x02,0xf0,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x8b]
0x02,0xf7,0x8a,0x8b

# CHECK: s_nand_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8b,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8b,0x56,0x34,0x12,0xaf

# CHECK: s_nand_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8b,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8b,0x73,0x72,0x71,0x3f

# CHECK: s_nor_b32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x8c]
0x01,0x02,0x05,0x8c

# CHECK: s_nor_b32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x8c]
0x01,0x02,0x65,0x8c

# CHECK: s_nor_b32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x8c]
0x01,0x02,0x66,0x8c

# CHECK: s_nor_b32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x8c]
0x01,0x02,0x67,0x8c

# CHECK: s_nor_b32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x8c]
0x01,0x02,0x6a,0x8c

# CHECK: s_nor_b32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x8c]
0x01,0x02,0x6b,0x8c

# CHECK: s_nor_b32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x8c]
0x01,0x02,0x7c,0x8c

# CHECK: s_nor_b32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x8c]
0x01,0x02,0x7e,0x8c

# CHECK: s_nor_b32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x8c]
0x01,0x02,0x7f,0x8c

# CHECK: s_nor_b32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x8c]
0x65,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x8c]
0x66,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x8c]
0x67,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x8c]
0x6a,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x8c]
0x6b,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x8c]
0x7c,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x8c]
0x7e,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x8c]
0x7f,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x8c]
0x80,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x8c]
0xc1,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x8c]
0xf0,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x8c]
0xf7,0x02,0x05,0x8c

# CHECK: s_nor_b32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf

# CHECK: s_nor_b32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f

# CHECK: s_nor_b32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x8c]
0x01,0x65,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x8c]
0x01,0x66,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x8c]
0x01,0x67,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x8c]
0x01,0x6a,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x8c]
0x01,0x6b,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x8c]
0x01,0x7c,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x8c]
0x01,0x7e,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x8c]
0x01,0x7f,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x8c]
0x01,0x80,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x8c]
0x01,0xc1,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x8c]
0x01,0xf0,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x8c]
0x01,0xf7,0x05,0x8c

# CHECK: s_nor_b32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf

# CHECK: s_nor_b32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x8c,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8c,0x73,0x72,0x71,0x3f

# CHECK: s_nor_b64 s[10:11], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8a,0x8c]
0x02,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[12:13], s[2:3], s[4:5]      ; encoding: [0x02,0x04,0x8c,0x8c]
0x02,0x04,0x8c,0x8c

# CHECK: s_nor_b64 s[100:101], s[2:3], s[4:5]    ; encoding: [0x02,0x04,0xe4,0x8c]
0x02,0x04,0xe4,0x8c

# CHECK: s_nor_b64 flat_scratch, s[2:3], s[4:5]  ; encoding: [0x02,0x04,0xe6,0x8c]
0x02,0x04,0xe6,0x8c

# CHECK: s_nor_b64 vcc, s[2:3], s[4:5]           ; encoding: [0x02,0x04,0xea,0x8c]
0x02,0x04,0xea,0x8c

# CHECK: s_nor_b64 exec, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xfe,0x8c]
0x02,0x04,0xfe,0x8c

# CHECK: s_nor_b64 s[10:11], s[4:5], s[4:5]      ; encoding: [0x04,0x04,0x8a,0x8c]
0x04,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[100:101], s[4:5]  ; encoding: [0x64,0x04,0x8a,0x8c]
0x64,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8c]
0x66,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], vcc, s[4:5]         ; encoding: [0x6a,0x04,0x8a,0x8c]
0x6a,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], exec, s[4:5]        ; encoding: [0x7e,0x04,0x8a,0x8c]
0x7e,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], 0, s[4:5]           ; encoding: [0x80,0x04,0x8a,0x8c]
0x80,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], -1, s[4:5]          ; encoding: [0xc1,0x04,0x8a,0x8c]
0xc1,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], 0.5, s[4:5]         ; encoding: [0xf0,0x04,0x8a,0x8c]
0xf0,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], -4.0, s[4:5]        ; encoding: [0xf7,0x04,0x8a,0x8c]
0xf7,0x04,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], 0xaf123456, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf

# CHECK: s_nor_b64 s[10:11], 0x3f717273, s[4:5]  ; encoding: [0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f

# CHECK: s_nor_b64 s[10:11], s[2:3], s[6:7]      ; encoding: [0x02,0x06,0x8a,0x8c]
0x02,0x06,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], s[100:101]  ; encoding: [0x02,0x64,0x8a,0x8c]
0x02,0x64,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8c]
0x02,0x66,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], vcc         ; encoding: [0x02,0x6a,0x8a,0x8c]
0x02,0x6a,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], exec        ; encoding: [0x02,0x7e,0x8a,0x8c]
0x02,0x7e,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], 0           ; encoding: [0x02,0x80,0x8a,0x8c]
0x02,0x80,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], -1          ; encoding: [0x02,0xc1,0x8a,0x8c]
0x02,0xc1,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], 0.5         ; encoding: [0x02,0xf0,0x8a,0x8c]
0x02,0xf0,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], -4.0        ; encoding: [0x02,0xf7,0x8a,0x8c]
0x02,0xf7,0x8a,0x8c

# CHECK: s_nor_b64 s[10:11], s[2:3], 0xaf123456  ; encoding: [0x02,0xff,0x8a,0x8c,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8c,0x56,0x34,0x12,0xaf

# CHECK: s_nor_b64 s[10:11], s[2:3], 0x3f717273  ; encoding: [0x02,0xff,0x8a,0x8c,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8c,0x73,0x72,0x71,0x3f

# CHECK: s_xnor_b32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x8d]
0x01,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x8d]
0x01,0x02,0x65,0x8d

# CHECK: s_xnor_b32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x8d]
0x01,0x02,0x66,0x8d

# CHECK: s_xnor_b32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x8d]
0x01,0x02,0x67,0x8d

# CHECK: s_xnor_b32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x8d]
0x01,0x02,0x6a,0x8d

# CHECK: s_xnor_b32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x8d]
0x01,0x02,0x6b,0x8d

# CHECK: s_xnor_b32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x8d]
0x01,0x02,0x7c,0x8d

# CHECK: s_xnor_b32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x8d]
0x01,0x02,0x7e,0x8d

# CHECK: s_xnor_b32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x8d]
0x01,0x02,0x7f,0x8d

# CHECK: s_xnor_b32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x8d]
0x65,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x8d]
0x66,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x8d]
0x67,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x8d]
0x6a,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x8d]
0x6b,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x8d]
0x7c,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x8d]
0x7e,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x8d]
0x7f,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x8d]
0x80,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x8d]
0xc1,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x8d]
0xf0,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x8d]
0xf7,0x02,0x05,0x8d

# CHECK: s_xnor_b32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf

# CHECK: s_xnor_b32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f

# CHECK: s_xnor_b32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x8d]
0x01,0x65,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x8d]
0x01,0x66,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x8d]
0x01,0x67,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x8d]
0x01,0x6a,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x8d]
0x01,0x6b,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x8d]
0x01,0x7c,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x8d]
0x01,0x7e,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x8d]
0x01,0x7f,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x8d]
0x01,0x80,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x8d]
0x01,0xc1,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x8d]
0x01,0xf0,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x8d]
0x01,0xf7,0x05,0x8d

# CHECK: s_xnor_b32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf

# CHECK: s_xnor_b32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x8d,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8d,0x73,0x72,0x71,0x3f

# CHECK: s_xnor_b64 s[10:11], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8a,0x8d]
0x02,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[12:13], s[2:3], s[4:5]     ; encoding: [0x02,0x04,0x8c,0x8d]
0x02,0x04,0x8c,0x8d

# CHECK: s_xnor_b64 s[100:101], s[2:3], s[4:5]   ; encoding: [0x02,0x04,0xe4,0x8d]
0x02,0x04,0xe4,0x8d

# CHECK: s_xnor_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8d]
0x02,0x04,0xe6,0x8d

# CHECK: s_xnor_b64 vcc, s[2:3], s[4:5]          ; encoding: [0x02,0x04,0xea,0x8d]
0x02,0x04,0xea,0x8d

# CHECK: s_xnor_b64 exec, s[2:3], s[4:5]         ; encoding: [0x02,0x04,0xfe,0x8d]
0x02,0x04,0xfe,0x8d

# CHECK: s_xnor_b64 s[10:11], s[4:5], s[4:5]     ; encoding: [0x04,0x04,0x8a,0x8d]
0x04,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8d]
0x64,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8d]
0x66,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], vcc, s[4:5]        ; encoding: [0x6a,0x04,0x8a,0x8d]
0x6a,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], exec, s[4:5]       ; encoding: [0x7e,0x04,0x8a,0x8d]
0x7e,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], 0, s[4:5]          ; encoding: [0x80,0x04,0x8a,0x8d]
0x80,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], -1, s[4:5]         ; encoding: [0xc1,0x04,0x8a,0x8d]
0xc1,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], 0.5, s[4:5]        ; encoding: [0xf0,0x04,0x8a,0x8d]
0xf0,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], -4.0, s[4:5]       ; encoding: [0xf7,0x04,0x8a,0x8d]
0xf7,0x04,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf]
0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf

# CHECK: s_xnor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f]
0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f

# CHECK: s_xnor_b64 s[10:11], s[2:3], s[6:7]     ; encoding: [0x02,0x06,0x8a,0x8d]
0x02,0x06,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8d]
0x02,0x64,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8d]
0x02,0x66,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], vcc        ; encoding: [0x02,0x6a,0x8a,0x8d]
0x02,0x6a,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], exec       ; encoding: [0x02,0x7e,0x8a,0x8d]
0x02,0x7e,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x8d]
0x02,0x80,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x8d]
0x02,0xc1,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x8d]
0x02,0xf0,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x8d]
0x02,0xf7,0x8a,0x8d

# CHECK: s_xnor_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8d,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8d,0x56,0x34,0x12,0xaf

# CHECK: s_xnor_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8d,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8d,0x73,0x72,0x71,0x3f

# CHECK: s_lshl_b32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x8e]
0x01,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x8e]
0x01,0x02,0x65,0x8e

# CHECK: s_lshl_b32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x8e]
0x01,0x02,0x66,0x8e

# CHECK: s_lshl_b32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x8e]
0x01,0x02,0x67,0x8e

# CHECK: s_lshl_b32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x8e]
0x01,0x02,0x6a,0x8e

# CHECK: s_lshl_b32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x8e]
0x01,0x02,0x6b,0x8e

# CHECK: s_lshl_b32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x8e]
0x01,0x02,0x7c,0x8e

# CHECK: s_lshl_b32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x8e]
0x01,0x02,0x7e,0x8e

# CHECK: s_lshl_b32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x8e]
0x01,0x02,0x7f,0x8e

# CHECK: s_lshl_b32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x8e]
0x65,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x8e]
0x66,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x8e]
0x67,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x8e]
0x6a,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x8e]
0x6b,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x8e]
0x7c,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x8e]
0x7e,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x8e]
0x7f,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x8e]
0x80,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x8e]
0xc1,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x8e]
0xf0,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x8e]
0xf7,0x02,0x05,0x8e

# CHECK: s_lshl_b32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf

# CHECK: s_lshl_b32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f

# CHECK: s_lshl_b32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x8e]
0x01,0x65,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x8e]
0x01,0x66,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x8e]
0x01,0x67,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x8e]
0x01,0x6a,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x8e]
0x01,0x6b,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x8e]
0x01,0x7c,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x8e]
0x01,0x7e,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x8e]
0x01,0x7f,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x8e]
0x01,0x80,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x8e]
0x01,0xc1,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x8e]
0x01,0xf0,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x8e]
0x01,0xf7,0x05,0x8e

# CHECK: s_lshl_b32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf

# CHECK: s_lshl_b32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x8e,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8e,0x73,0x72,0x71,0x3f

# CHECK: s_lshl_b64 s[10:11], s[2:3], s2         ; encoding: [0x02,0x02,0x8a,0x8e]
0x02,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[12:13], s[2:3], s2         ; encoding: [0x02,0x02,0x8c,0x8e]
0x02,0x02,0x8c,0x8e

# CHECK: s_lshl_b64 s[100:101], s[2:3], s2       ; encoding: [0x02,0x02,0xe4,0x8e]
0x02,0x02,0xe4,0x8e

# CHECK: s_lshl_b64 flat_scratch, s[2:3], s2     ; encoding: [0x02,0x02,0xe6,0x8e]
0x02,0x02,0xe6,0x8e

# CHECK: s_lshl_b64 vcc, s[2:3], s2              ; encoding: [0x02,0x02,0xea,0x8e]
0x02,0x02,0xea,0x8e

# CHECK: s_lshl_b64 exec, s[2:3], s2             ; encoding: [0x02,0x02,0xfe,0x8e]
0x02,0x02,0xfe,0x8e

# CHECK: s_lshl_b64 s[10:11], s[4:5], s2         ; encoding: [0x04,0x02,0x8a,0x8e]
0x04,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[100:101], s2     ; encoding: [0x64,0x02,0x8a,0x8e]
0x64,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], flat_scratch, s2   ; encoding: [0x66,0x02,0x8a,0x8e]
0x66,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], vcc, s2            ; encoding: [0x6a,0x02,0x8a,0x8e]
0x6a,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], exec, s2           ; encoding: [0x7e,0x02,0x8a,0x8e]
0x7e,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], 0, s2              ; encoding: [0x80,0x02,0x8a,0x8e]
0x80,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], -1, s2             ; encoding: [0xc1,0x02,0x8a,0x8e]
0xc1,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], 0.5, s2            ; encoding: [0xf0,0x02,0x8a,0x8e]
0xf0,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], -4.0, s2           ; encoding: [0xf7,0x02,0x8a,0x8e]
0xf7,0x02,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], 0xaf123456, s2     ; encoding: [0xff,0x02,0x8a,0x8e,0x56,0x34,0x12,0xaf]
0xff,0x02,0x8a,0x8e,0x56,0x34,0x12,0xaf

# CHECK: s_lshl_b64 s[10:11], 0x3f717273, s2     ; encoding: [0xff,0x02,0x8a,0x8e,0x73,0x72,0x71,0x3f]
0xff,0x02,0x8a,0x8e,0x73,0x72,0x71,0x3f

# CHECK: s_lshl_b64 s[10:11], s[2:3], s101       ; encoding: [0x02,0x65,0x8a,0x8e]
0x02,0x65,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x8e]
0x02,0x66,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8e]
0x02,0x67,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], vcc_lo     ; encoding: [0x02,0x6a,0x8a,0x8e]
0x02,0x6a,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], vcc_hi     ; encoding: [0x02,0x6b,0x8a,0x8e]
0x02,0x6b,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], m0         ; encoding: [0x02,0x7c,0x8a,0x8e]
0x02,0x7c,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], exec_lo    ; encoding: [0x02,0x7e,0x8a,0x8e]
0x02,0x7e,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], exec_hi    ; encoding: [0x02,0x7f,0x8a,0x8e]
0x02,0x7f,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x8e]
0x02,0x80,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x8e]
0x02,0xc1,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x8e]
0x02,0xf0,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x8e]
0x02,0xf7,0x8a,0x8e

# CHECK: s_lshl_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf

# CHECK: s_lshl_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f

# CHECK: s_lshr_b32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x8f]
0x01,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x8f]
0x01,0x02,0x65,0x8f

# CHECK: s_lshr_b32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x8f]
0x01,0x02,0x66,0x8f

# CHECK: s_lshr_b32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x8f]
0x01,0x02,0x67,0x8f

# CHECK: s_lshr_b32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x8f]
0x01,0x02,0x6a,0x8f

# CHECK: s_lshr_b32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x8f]
0x01,0x02,0x6b,0x8f

# CHECK: s_lshr_b32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x8f]
0x01,0x02,0x7c,0x8f

# CHECK: s_lshr_b32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x8f]
0x01,0x02,0x7e,0x8f

# CHECK: s_lshr_b32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x8f]
0x01,0x02,0x7f,0x8f

# CHECK: s_lshr_b32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x8f]
0x65,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x8f]
0x66,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x8f]
0x67,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x8f]
0x6a,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x8f]
0x6b,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x8f]
0x7c,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x8f]
0x7e,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x8f]
0x7f,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x8f]
0x80,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x8f]
0xc1,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x8f]
0xf0,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x8f]
0xf7,0x02,0x05,0x8f

# CHECK: s_lshr_b32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf

# CHECK: s_lshr_b32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f

# CHECK: s_lshr_b32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x8f]
0x01,0x65,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x8f]
0x01,0x66,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x8f]
0x01,0x67,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x8f]
0x01,0x6a,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x8f]
0x01,0x6b,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x8f]
0x01,0x7c,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x8f]
0x01,0x7e,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x8f]
0x01,0x7f,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x8f]
0x01,0x80,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x8f]
0x01,0xc1,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x8f]
0x01,0xf0,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x8f]
0x01,0xf7,0x05,0x8f

# CHECK: s_lshr_b32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf

# CHECK: s_lshr_b32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x8f,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x8f,0x73,0x72,0x71,0x3f

# CHECK: s_lshr_b64 s[10:11], s[2:3], s2         ; encoding: [0x02,0x02,0x8a,0x8f]
0x02,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[12:13], s[2:3], s2         ; encoding: [0x02,0x02,0x8c,0x8f]
0x02,0x02,0x8c,0x8f

# CHECK: s_lshr_b64 s[100:101], s[2:3], s2       ; encoding: [0x02,0x02,0xe4,0x8f]
0x02,0x02,0xe4,0x8f

# CHECK: s_lshr_b64 flat_scratch, s[2:3], s2     ; encoding: [0x02,0x02,0xe6,0x8f]
0x02,0x02,0xe6,0x8f

# CHECK: s_lshr_b64 vcc, s[2:3], s2              ; encoding: [0x02,0x02,0xea,0x8f]
0x02,0x02,0xea,0x8f

# CHECK: s_lshr_b64 exec, s[2:3], s2             ; encoding: [0x02,0x02,0xfe,0x8f]
0x02,0x02,0xfe,0x8f

# CHECK: s_lshr_b64 s[10:11], s[4:5], s2         ; encoding: [0x04,0x02,0x8a,0x8f]
0x04,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[100:101], s2     ; encoding: [0x64,0x02,0x8a,0x8f]
0x64,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], flat_scratch, s2   ; encoding: [0x66,0x02,0x8a,0x8f]
0x66,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], vcc, s2            ; encoding: [0x6a,0x02,0x8a,0x8f]
0x6a,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], exec, s2           ; encoding: [0x7e,0x02,0x8a,0x8f]
0x7e,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], 0, s2              ; encoding: [0x80,0x02,0x8a,0x8f]
0x80,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], -1, s2             ; encoding: [0xc1,0x02,0x8a,0x8f]
0xc1,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], 0.5, s2            ; encoding: [0xf0,0x02,0x8a,0x8f]
0xf0,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], -4.0, s2           ; encoding: [0xf7,0x02,0x8a,0x8f]
0xf7,0x02,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], 0xaf123456, s2     ; encoding: [0xff,0x02,0x8a,0x8f,0x56,0x34,0x12,0xaf]
0xff,0x02,0x8a,0x8f,0x56,0x34,0x12,0xaf

# CHECK: s_lshr_b64 s[10:11], 0x3f717273, s2     ; encoding: [0xff,0x02,0x8a,0x8f,0x73,0x72,0x71,0x3f]
0xff,0x02,0x8a,0x8f,0x73,0x72,0x71,0x3f

# CHECK: s_lshr_b64 s[10:11], s[2:3], s101       ; encoding: [0x02,0x65,0x8a,0x8f]
0x02,0x65,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x8f]
0x02,0x66,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8f]
0x02,0x67,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], vcc_lo     ; encoding: [0x02,0x6a,0x8a,0x8f]
0x02,0x6a,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], vcc_hi     ; encoding: [0x02,0x6b,0x8a,0x8f]
0x02,0x6b,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], m0         ; encoding: [0x02,0x7c,0x8a,0x8f]
0x02,0x7c,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], exec_lo    ; encoding: [0x02,0x7e,0x8a,0x8f]
0x02,0x7e,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], exec_hi    ; encoding: [0x02,0x7f,0x8a,0x8f]
0x02,0x7f,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x8f]
0x02,0x80,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x8f]
0x02,0xc1,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x8f]
0x02,0xf0,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x8f]
0x02,0xf7,0x8a,0x8f

# CHECK: s_lshr_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf

# CHECK: s_lshr_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f

# CHECK: s_ashr_i32 s5, s1, s2                   ; encoding: [0x01,0x02,0x05,0x90]
0x01,0x02,0x05,0x90

# CHECK: s_ashr_i32 s101, s1, s2                 ; encoding: [0x01,0x02,0x65,0x90]
0x01,0x02,0x65,0x90

# CHECK: s_ashr_i32 flat_scratch_lo, s1, s2      ; encoding: [0x01,0x02,0x66,0x90]
0x01,0x02,0x66,0x90

# CHECK: s_ashr_i32 flat_scratch_hi, s1, s2      ; encoding: [0x01,0x02,0x67,0x90]
0x01,0x02,0x67,0x90

# CHECK: s_ashr_i32 vcc_lo, s1, s2               ; encoding: [0x01,0x02,0x6a,0x90]
0x01,0x02,0x6a,0x90

# CHECK: s_ashr_i32 vcc_hi, s1, s2               ; encoding: [0x01,0x02,0x6b,0x90]
0x01,0x02,0x6b,0x90

# CHECK: s_ashr_i32 m0, s1, s2                   ; encoding: [0x01,0x02,0x7c,0x90]
0x01,0x02,0x7c,0x90

# CHECK: s_ashr_i32 exec_lo, s1, s2              ; encoding: [0x01,0x02,0x7e,0x90]
0x01,0x02,0x7e,0x90

# CHECK: s_ashr_i32 exec_hi, s1, s2              ; encoding: [0x01,0x02,0x7f,0x90]
0x01,0x02,0x7f,0x90

# CHECK: s_ashr_i32 s5, s101, s2                 ; encoding: [0x65,0x02,0x05,0x90]
0x65,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, flat_scratch_lo, s2      ; encoding: [0x66,0x02,0x05,0x90]
0x66,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, flat_scratch_hi, s2      ; encoding: [0x67,0x02,0x05,0x90]
0x67,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, vcc_lo, s2               ; encoding: [0x6a,0x02,0x05,0x90]
0x6a,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, vcc_hi, s2               ; encoding: [0x6b,0x02,0x05,0x90]
0x6b,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, m0, s2                   ; encoding: [0x7c,0x02,0x05,0x90]
0x7c,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, exec_lo, s2              ; encoding: [0x7e,0x02,0x05,0x90]
0x7e,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, exec_hi, s2              ; encoding: [0x7f,0x02,0x05,0x90]
0x7f,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, 0, s2                    ; encoding: [0x80,0x02,0x05,0x90]
0x80,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, -1, s2                   ; encoding: [0xc1,0x02,0x05,0x90]
0xc1,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, 0.5, s2                  ; encoding: [0xf0,0x02,0x05,0x90]
0xf0,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, -4.0, s2                 ; encoding: [0xf7,0x02,0x05,0x90]
0xf7,0x02,0x05,0x90

# CHECK: s_ashr_i32 s5, 0xaf123456, s2           ; encoding: [0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf

# CHECK: s_ashr_i32 s5, 0x3f717273, s2           ; encoding: [0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f

# CHECK: s_ashr_i32 s5, s1, s101                 ; encoding: [0x01,0x65,0x05,0x90]
0x01,0x65,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, flat_scratch_lo      ; encoding: [0x01,0x66,0x05,0x90]
0x01,0x66,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, flat_scratch_hi      ; encoding: [0x01,0x67,0x05,0x90]
0x01,0x67,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, vcc_lo               ; encoding: [0x01,0x6a,0x05,0x90]
0x01,0x6a,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, vcc_hi               ; encoding: [0x01,0x6b,0x05,0x90]
0x01,0x6b,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, m0                   ; encoding: [0x01,0x7c,0x05,0x90]
0x01,0x7c,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, exec_lo              ; encoding: [0x01,0x7e,0x05,0x90]
0x01,0x7e,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, exec_hi              ; encoding: [0x01,0x7f,0x05,0x90]
0x01,0x7f,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, 0                    ; encoding: [0x01,0x80,0x05,0x90]
0x01,0x80,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, -1                   ; encoding: [0x01,0xc1,0x05,0x90]
0x01,0xc1,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, 0.5                  ; encoding: [0x01,0xf0,0x05,0x90]
0x01,0xf0,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, -4.0                 ; encoding: [0x01,0xf7,0x05,0x90]
0x01,0xf7,0x05,0x90

# CHECK: s_ashr_i32 s5, s1, 0xaf123456           ; encoding: [0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf

# CHECK: s_ashr_i32 s5, s1, 0x3f717273           ; encoding: [0x01,0xff,0x05,0x90,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x90,0x73,0x72,0x71,0x3f

# CHECK: s_ashr_i64 s[10:11], s[2:3], s2         ; encoding: [0x02,0x02,0x8a,0x90]
0x02,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[12:13], s[2:3], s2         ; encoding: [0x02,0x02,0x8c,0x90]
0x02,0x02,0x8c,0x90

# CHECK: s_ashr_i64 s[100:101], s[2:3], s2       ; encoding: [0x02,0x02,0xe4,0x90]
0x02,0x02,0xe4,0x90

# CHECK: s_ashr_i64 flat_scratch, s[2:3], s2     ; encoding: [0x02,0x02,0xe6,0x90]
0x02,0x02,0xe6,0x90

# CHECK: s_ashr_i64 vcc, s[2:3], s2              ; encoding: [0x02,0x02,0xea,0x90]
0x02,0x02,0xea,0x90

# CHECK: s_ashr_i64 exec, s[2:3], s2             ; encoding: [0x02,0x02,0xfe,0x90]
0x02,0x02,0xfe,0x90

# CHECK: s_ashr_i64 s[10:11], s[4:5], s2         ; encoding: [0x04,0x02,0x8a,0x90]
0x04,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[100:101], s2     ; encoding: [0x64,0x02,0x8a,0x90]
0x64,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], flat_scratch, s2   ; encoding: [0x66,0x02,0x8a,0x90]
0x66,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], vcc, s2            ; encoding: [0x6a,0x02,0x8a,0x90]
0x6a,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], exec, s2           ; encoding: [0x7e,0x02,0x8a,0x90]
0x7e,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], 0, s2              ; encoding: [0x80,0x02,0x8a,0x90]
0x80,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], -1, s2             ; encoding: [0xc1,0x02,0x8a,0x90]
0xc1,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], 0.5, s2            ; encoding: [0xf0,0x02,0x8a,0x90]
0xf0,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], -4.0, s2           ; encoding: [0xf7,0x02,0x8a,0x90]
0xf7,0x02,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], 0xaf123456, s2     ; encoding: [0xff,0x02,0x8a,0x90,0x56,0x34,0x12,0xaf]
0xff,0x02,0x8a,0x90,0x56,0x34,0x12,0xaf

# CHECK: s_ashr_i64 s[10:11], 0x3f717273, s2     ; encoding: [0xff,0x02,0x8a,0x90,0x73,0x72,0x71,0x3f]
0xff,0x02,0x8a,0x90,0x73,0x72,0x71,0x3f

# CHECK: s_ashr_i64 s[10:11], s[2:3], s101       ; encoding: [0x02,0x65,0x8a,0x90]
0x02,0x65,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x90]
0x02,0x66,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x90]
0x02,0x67,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], vcc_lo     ; encoding: [0x02,0x6a,0x8a,0x90]
0x02,0x6a,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], vcc_hi     ; encoding: [0x02,0x6b,0x8a,0x90]
0x02,0x6b,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], m0         ; encoding: [0x02,0x7c,0x8a,0x90]
0x02,0x7c,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], exec_lo    ; encoding: [0x02,0x7e,0x8a,0x90]
0x02,0x7e,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], exec_hi    ; encoding: [0x02,0x7f,0x8a,0x90]
0x02,0x7f,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], 0          ; encoding: [0x02,0x80,0x8a,0x90]
0x02,0x80,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], -1         ; encoding: [0x02,0xc1,0x8a,0x90]
0x02,0xc1,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], 0.5        ; encoding: [0x02,0xf0,0x8a,0x90]
0x02,0xf0,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], -4.0       ; encoding: [0x02,0xf7,0x8a,0x90]
0x02,0xf7,0x8a,0x90

# CHECK: s_ashr_i64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf

# CHECK: s_ashr_i64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f

# CHECK: s_bfm_b32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x91]
0x01,0x02,0x05,0x91

# CHECK: s_bfm_b32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x91]
0x01,0x02,0x65,0x91

# CHECK: s_bfm_b32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x91]
0x01,0x02,0x66,0x91

# CHECK: s_bfm_b32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x91]
0x01,0x02,0x67,0x91

# CHECK: s_bfm_b32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x91]
0x01,0x02,0x6a,0x91

# CHECK: s_bfm_b32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x91]
0x01,0x02,0x6b,0x91

# CHECK: s_bfm_b32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x91]
0x01,0x02,0x7c,0x91

# CHECK: s_bfm_b32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x91]
0x01,0x02,0x7e,0x91

# CHECK: s_bfm_b32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x91]
0x01,0x02,0x7f,0x91

# CHECK: s_bfm_b32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x91]
0x65,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x91]
0x66,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x91]
0x67,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x91]
0x6a,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x91]
0x6b,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x91]
0x7c,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x91]
0x7e,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x91]
0x7f,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x91]
0x80,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x91]
0xc1,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x91]
0xf0,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x91]
0xf7,0x02,0x05,0x91

# CHECK: s_bfm_b32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf

# CHECK: s_bfm_b32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f

# CHECK: s_bfm_b32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x91]
0x01,0x65,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x91]
0x01,0x66,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x91]
0x01,0x67,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x91]
0x01,0x6a,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x91]
0x01,0x6b,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x91]
0x01,0x7c,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x91]
0x01,0x7e,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x91]
0x01,0x7f,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x91]
0x01,0x80,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x91]
0x01,0xc1,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x91]
0x01,0xf0,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x91]
0x01,0xf7,0x05,0x91

# CHECK: s_bfm_b32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf

# CHECK: s_bfm_b32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x91,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x91,0x73,0x72,0x71,0x3f

# CHECK: s_bfm_b64 s[10:11], s1, s2              ; encoding: [0x01,0x02,0x8a,0x91]
0x01,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[12:13], s1, s2              ; encoding: [0x01,0x02,0x8c,0x91]
0x01,0x02,0x8c,0x91

# CHECK: s_bfm_b64 s[100:101], s1, s2            ; encoding: [0x01,0x02,0xe4,0x91]
0x01,0x02,0xe4,0x91

# CHECK: s_bfm_b64 flat_scratch, s1, s2          ; encoding: [0x01,0x02,0xe6,0x91]
0x01,0x02,0xe6,0x91

# CHECK: s_bfm_b64 vcc, s1, s2                   ; encoding: [0x01,0x02,0xea,0x91]
0x01,0x02,0xea,0x91

# CHECK: s_bfm_b64 exec, s1, s2                  ; encoding: [0x01,0x02,0xfe,0x91]
0x01,0x02,0xfe,0x91

# CHECK: s_bfm_b64 s[10:11], s101, s2            ; encoding: [0x65,0x02,0x8a,0x91]
0x65,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x8a,0x91]
0x66,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x8a,0x91]
0x67,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], vcc_lo, s2          ; encoding: [0x6a,0x02,0x8a,0x91]
0x6a,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], vcc_hi, s2          ; encoding: [0x6b,0x02,0x8a,0x91]
0x6b,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], m0, s2              ; encoding: [0x7c,0x02,0x8a,0x91]
0x7c,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], exec_lo, s2         ; encoding: [0x7e,0x02,0x8a,0x91]
0x7e,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], exec_hi, s2         ; encoding: [0x7f,0x02,0x8a,0x91]
0x7f,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], 0, s2               ; encoding: [0x80,0x02,0x8a,0x91]
0x80,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], -1, s2              ; encoding: [0xc1,0x02,0x8a,0x91]
0xc1,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], 0.5, s2             ; encoding: [0xf0,0x02,0x8a,0x91]
0xf0,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], -4.0, s2            ; encoding: [0xf7,0x02,0x8a,0x91]
0xf7,0x02,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], 0xaf123456, s2      ; encoding: [0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf]
0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf

# CHECK: s_bfm_b64 s[10:11], 0x3f717273, s2      ; encoding: [0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f]
0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f

# CHECK: s_bfm_b64 s[10:11], s1, s101            ; encoding: [0x01,0x65,0x8a,0x91]
0x01,0x65,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, flat_scratch_lo ; encoding: [0x01,0x66,0x8a,0x91]
0x01,0x66,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, flat_scratch_hi ; encoding: [0x01,0x67,0x8a,0x91]
0x01,0x67,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, vcc_lo          ; encoding: [0x01,0x6a,0x8a,0x91]
0x01,0x6a,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, vcc_hi          ; encoding: [0x01,0x6b,0x8a,0x91]
0x01,0x6b,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, m0              ; encoding: [0x01,0x7c,0x8a,0x91]
0x01,0x7c,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, exec_lo         ; encoding: [0x01,0x7e,0x8a,0x91]
0x01,0x7e,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, exec_hi         ; encoding: [0x01,0x7f,0x8a,0x91]
0x01,0x7f,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, 0               ; encoding: [0x01,0x80,0x8a,0x91]
0x01,0x80,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, -1              ; encoding: [0x01,0xc1,0x8a,0x91]
0x01,0xc1,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, 0.5             ; encoding: [0x01,0xf0,0x8a,0x91]
0x01,0xf0,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, -4.0            ; encoding: [0x01,0xf7,0x8a,0x91]
0x01,0xf7,0x8a,0x91

# CHECK: s_bfm_b64 s[10:11], s1, 0xaf123456      ; encoding: [0x01,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf]
0x01,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf

# CHECK: s_bfm_b64 s[10:11], s1, 0x3f717273      ; encoding: [0x01,0xff,0x8a,0x91,0x73,0x72,0x71,0x3f]
0x01,0xff,0x8a,0x91,0x73,0x72,0x71,0x3f

# CHECK: s_mul_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x92]
0x01,0x02,0x05,0x92

# CHECK: s_mul_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x92]
0x01,0x02,0x65,0x92

# CHECK: s_mul_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x92]
0x01,0x02,0x66,0x92

# CHECK: s_mul_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x92]
0x01,0x02,0x67,0x92

# CHECK: s_mul_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x92]
0x01,0x02,0x6a,0x92

# CHECK: s_mul_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x92]
0x01,0x02,0x6b,0x92

# CHECK: s_mul_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x92]
0x01,0x02,0x7c,0x92

# CHECK: s_mul_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x92]
0x01,0x02,0x7e,0x92

# CHECK: s_mul_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x92]
0x01,0x02,0x7f,0x92

# CHECK: s_mul_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x92]
0x65,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x92]
0x66,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x92]
0x67,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x92]
0x6a,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x92]
0x6b,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x92]
0x7c,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x92]
0x7e,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x92]
0x7f,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x92]
0x80,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x92]
0xc1,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x92]
0xf0,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x92]
0xf7,0x02,0x05,0x92

# CHECK: s_mul_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf

# CHECK: s_mul_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f

# CHECK: s_mul_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x92]
0x01,0x65,0x05,0x92

# CHECK: s_mul_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x92]
0x01,0x66,0x05,0x92

# CHECK: s_mul_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x92]
0x01,0x67,0x05,0x92

# CHECK: s_mul_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x92]
0x01,0x6a,0x05,0x92

# CHECK: s_mul_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x92]
0x01,0x6b,0x05,0x92

# CHECK: s_mul_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x92]
0x01,0x7c,0x05,0x92

# CHECK: s_mul_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x92]
0x01,0x7e,0x05,0x92

# CHECK: s_mul_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x92]
0x01,0x7f,0x05,0x92

# CHECK: s_mul_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x92]
0x01,0x80,0x05,0x92

# CHECK: s_mul_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x92]
0x01,0xc1,0x05,0x92

# CHECK: s_mul_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x92]
0x01,0xf0,0x05,0x92

# CHECK: s_mul_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x92]
0x01,0xf7,0x05,0x92

# CHECK: s_mul_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf

# CHECK: s_mul_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_u32 s5, s1, s2                    ; encoding: [0x01,0x02,0x85,0x92]
0x01,0x02,0x85,0x92

# CHECK: s_bfe_u32 s101, s1, s2                  ; encoding: [0x01,0x02,0xe5,0x92]
0x01,0x02,0xe5,0x92

# CHECK: s_bfe_u32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0xe6,0x92]
0x01,0x02,0xe6,0x92

# CHECK: s_bfe_u32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0xe7,0x92]
0x01,0x02,0xe7,0x92

# CHECK: s_bfe_u32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0xea,0x92]
0x01,0x02,0xea,0x92

# CHECK: s_bfe_u32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0xeb,0x92]
0x01,0x02,0xeb,0x92

# CHECK: s_bfe_u32 m0, s1, s2                    ; encoding: [0x01,0x02,0xfc,0x92]
0x01,0x02,0xfc,0x92

# CHECK: s_bfe_u32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0xfe,0x92]
0x01,0x02,0xfe,0x92

# CHECK: s_bfe_u32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0xff,0x92]
0x01,0x02,0xff,0x92

# CHECK: s_bfe_u32 s5, s101, s2                  ; encoding: [0x65,0x02,0x85,0x92]
0x65,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x85,0x92]
0x66,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x85,0x92]
0x67,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x85,0x92]
0x6a,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x85,0x92]
0x6b,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x85,0x92]
0x7c,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x85,0x92]
0x7e,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x85,0x92]
0x7f,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, 0, s2                     ; encoding: [0x80,0x02,0x85,0x92]
0x80,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x85,0x92]
0xc1,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x85,0x92]
0xf0,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x85,0x92]
0xf7,0x02,0x85,0x92

# CHECK: s_bfe_u32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_u32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f]
0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_u32 s5, s1, s101                  ; encoding: [0x01,0x65,0x85,0x92]
0x01,0x65,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x85,0x92]
0x01,0x66,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x85,0x92]
0x01,0x67,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x85,0x92]
0x01,0x6a,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x85,0x92]
0x01,0x6b,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x85,0x92]
0x01,0x7c,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x85,0x92]
0x01,0x7e,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x85,0x92]
0x01,0x7f,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, 0                     ; encoding: [0x01,0x80,0x85,0x92]
0x01,0x80,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x85,0x92]
0x01,0xc1,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x85,0x92]
0x01,0xf0,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x85,0x92]
0x01,0xf7,0x85,0x92

# CHECK: s_bfe_u32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_u32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_i32 s5, s1, s2                    ; encoding: [0x01,0x02,0x05,0x93]
0x01,0x02,0x05,0x93

# CHECK: s_bfe_i32 s101, s1, s2                  ; encoding: [0x01,0x02,0x65,0x93]
0x01,0x02,0x65,0x93

# CHECK: s_bfe_i32 flat_scratch_lo, s1, s2       ; encoding: [0x01,0x02,0x66,0x93]
0x01,0x02,0x66,0x93

# CHECK: s_bfe_i32 flat_scratch_hi, s1, s2       ; encoding: [0x01,0x02,0x67,0x93]
0x01,0x02,0x67,0x93

# CHECK: s_bfe_i32 vcc_lo, s1, s2                ; encoding: [0x01,0x02,0x6a,0x93]
0x01,0x02,0x6a,0x93

# CHECK: s_bfe_i32 vcc_hi, s1, s2                ; encoding: [0x01,0x02,0x6b,0x93]
0x01,0x02,0x6b,0x93

# CHECK: s_bfe_i32 m0, s1, s2                    ; encoding: [0x01,0x02,0x7c,0x93]
0x01,0x02,0x7c,0x93

# CHECK: s_bfe_i32 exec_lo, s1, s2               ; encoding: [0x01,0x02,0x7e,0x93]
0x01,0x02,0x7e,0x93

# CHECK: s_bfe_i32 exec_hi, s1, s2               ; encoding: [0x01,0x02,0x7f,0x93]
0x01,0x02,0x7f,0x93

# CHECK: s_bfe_i32 s5, s101, s2                  ; encoding: [0x65,0x02,0x05,0x93]
0x65,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, flat_scratch_lo, s2       ; encoding: [0x66,0x02,0x05,0x93]
0x66,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, flat_scratch_hi, s2       ; encoding: [0x67,0x02,0x05,0x93]
0x67,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, vcc_lo, s2                ; encoding: [0x6a,0x02,0x05,0x93]
0x6a,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, vcc_hi, s2                ; encoding: [0x6b,0x02,0x05,0x93]
0x6b,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, m0, s2                    ; encoding: [0x7c,0x02,0x05,0x93]
0x7c,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, exec_lo, s2               ; encoding: [0x7e,0x02,0x05,0x93]
0x7e,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, exec_hi, s2               ; encoding: [0x7f,0x02,0x05,0x93]
0x7f,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, 0, s2                     ; encoding: [0x80,0x02,0x05,0x93]
0x80,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, -1, s2                    ; encoding: [0xc1,0x02,0x05,0x93]
0xc1,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, 0.5, s2                   ; encoding: [0xf0,0x02,0x05,0x93]
0xf0,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, -4.0, s2                  ; encoding: [0xf7,0x02,0x05,0x93]
0xf7,0x02,0x05,0x93

# CHECK: s_bfe_i32 s5, 0xaf123456, s2            ; encoding: [0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_i32 s5, 0x3f717273, s2            ; encoding: [0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_i32 s5, s1, s101                  ; encoding: [0x01,0x65,0x05,0x93]
0x01,0x65,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, flat_scratch_lo       ; encoding: [0x01,0x66,0x05,0x93]
0x01,0x66,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, flat_scratch_hi       ; encoding: [0x01,0x67,0x05,0x93]
0x01,0x67,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, vcc_lo                ; encoding: [0x01,0x6a,0x05,0x93]
0x01,0x6a,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, vcc_hi                ; encoding: [0x01,0x6b,0x05,0x93]
0x01,0x6b,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, m0                    ; encoding: [0x01,0x7c,0x05,0x93]
0x01,0x7c,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, exec_lo               ; encoding: [0x01,0x7e,0x05,0x93]
0x01,0x7e,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, exec_hi               ; encoding: [0x01,0x7f,0x05,0x93]
0x01,0x7f,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, 0                     ; encoding: [0x01,0x80,0x05,0x93]
0x01,0x80,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, -1                    ; encoding: [0x01,0xc1,0x05,0x93]
0x01,0xc1,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, 0.5                   ; encoding: [0x01,0xf0,0x05,0x93]
0x01,0xf0,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, -4.0                  ; encoding: [0x01,0xf7,0x05,0x93]
0x01,0xf7,0x05,0x93

# CHECK: s_bfe_i32 s5, s1, 0xaf123456            ; encoding: [0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_i32 s5, s1, 0x3f717273            ; encoding: [0x01,0xff,0x05,0x93,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x93,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_u64 s[10:11], s[2:3], s2          ; encoding: [0x02,0x02,0x8a,0x93]
0x02,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[12:13], s[2:3], s2          ; encoding: [0x02,0x02,0x8c,0x93]
0x02,0x02,0x8c,0x93

# CHECK: s_bfe_u64 s[100:101], s[2:3], s2        ; encoding: [0x02,0x02,0xe4,0x93]
0x02,0x02,0xe4,0x93

# CHECK: s_bfe_u64 flat_scratch, s[2:3], s2      ; encoding: [0x02,0x02,0xe6,0x93]
0x02,0x02,0xe6,0x93

# CHECK: s_bfe_u64 vcc, s[2:3], s2               ; encoding: [0x02,0x02,0xea,0x93]
0x02,0x02,0xea,0x93

# CHECK: s_bfe_u64 exec, s[2:3], s2              ; encoding: [0x02,0x02,0xfe,0x93]
0x02,0x02,0xfe,0x93

# CHECK: s_bfe_u64 s[10:11], s[4:5], s2          ; encoding: [0x04,0x02,0x8a,0x93]
0x04,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[100:101], s2      ; encoding: [0x64,0x02,0x8a,0x93]
0x64,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], flat_scratch, s2    ; encoding: [0x66,0x02,0x8a,0x93]
0x66,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], vcc, s2             ; encoding: [0x6a,0x02,0x8a,0x93]
0x6a,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], exec, s2            ; encoding: [0x7e,0x02,0x8a,0x93]
0x7e,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], 0, s2               ; encoding: [0x80,0x02,0x8a,0x93]
0x80,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], -1, s2              ; encoding: [0xc1,0x02,0x8a,0x93]
0xc1,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], 0.5, s2             ; encoding: [0xf0,0x02,0x8a,0x93]
0xf0,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], -4.0, s2            ; encoding: [0xf7,0x02,0x8a,0x93]
0xf7,0x02,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], 0xaf123456, s2      ; encoding: [0xff,0x02,0x8a,0x93,0x56,0x34,0x12,0xaf]
0xff,0x02,0x8a,0x93,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_u64 s[10:11], 0x3f717273, s2      ; encoding: [0xff,0x02,0x8a,0x93,0x73,0x72,0x71,0x3f]
0xff,0x02,0x8a,0x93,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_u64 s[10:11], s[2:3], s101        ; encoding: [0x02,0x65,0x8a,0x93]
0x02,0x65,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x93]
0x02,0x66,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x93]
0x02,0x67,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], vcc_lo      ; encoding: [0x02,0x6a,0x8a,0x93]
0x02,0x6a,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], vcc_hi      ; encoding: [0x02,0x6b,0x8a,0x93]
0x02,0x6b,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], m0          ; encoding: [0x02,0x7c,0x8a,0x93]
0x02,0x7c,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], exec_lo     ; encoding: [0x02,0x7e,0x8a,0x93]
0x02,0x7e,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], exec_hi     ; encoding: [0x02,0x7f,0x8a,0x93]
0x02,0x7f,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], 0           ; encoding: [0x02,0x80,0x8a,0x93]
0x02,0x80,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], -1          ; encoding: [0x02,0xc1,0x8a,0x93]
0x02,0xc1,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], 0.5         ; encoding: [0x02,0xf0,0x8a,0x93]
0x02,0xf0,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], -4.0        ; encoding: [0x02,0xf7,0x8a,0x93]
0x02,0xf7,0x8a,0x93

# CHECK: s_bfe_u64 s[10:11], s[2:3], 0xaf123456  ; encoding: [0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf]
0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_u64 s[10:11], s[2:3], 0x3f717273  ; encoding: [0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f]
0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_i64 s[10:11], s[2:3], s2          ; encoding: [0x02,0x02,0x0a,0x94]
0x02,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[12:13], s[2:3], s2          ; encoding: [0x02,0x02,0x0c,0x94]
0x02,0x02,0x0c,0x94

# CHECK: s_bfe_i64 s[100:101], s[2:3], s2        ; encoding: [0x02,0x02,0x64,0x94]
0x02,0x02,0x64,0x94

# CHECK: s_bfe_i64 flat_scratch, s[2:3], s2      ; encoding: [0x02,0x02,0x66,0x94]
0x02,0x02,0x66,0x94

# CHECK: s_bfe_i64 vcc, s[2:3], s2               ; encoding: [0x02,0x02,0x6a,0x94]
0x02,0x02,0x6a,0x94

# CHECK: s_bfe_i64 exec, s[2:3], s2              ; encoding: [0x02,0x02,0x7e,0x94]
0x02,0x02,0x7e,0x94

# CHECK: s_bfe_i64 s[10:11], s[4:5], s2          ; encoding: [0x04,0x02,0x0a,0x94]
0x04,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[100:101], s2      ; encoding: [0x64,0x02,0x0a,0x94]
0x64,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], flat_scratch, s2    ; encoding: [0x66,0x02,0x0a,0x94]
0x66,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], vcc, s2             ; encoding: [0x6a,0x02,0x0a,0x94]
0x6a,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], exec, s2            ; encoding: [0x7e,0x02,0x0a,0x94]
0x7e,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], 0, s2               ; encoding: [0x80,0x02,0x0a,0x94]
0x80,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], -1, s2              ; encoding: [0xc1,0x02,0x0a,0x94]
0xc1,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], 0.5, s2             ; encoding: [0xf0,0x02,0x0a,0x94]
0xf0,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], -4.0, s2            ; encoding: [0xf7,0x02,0x0a,0x94]
0xf7,0x02,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], 0xaf123456, s2      ; encoding: [0xff,0x02,0x0a,0x94,0x56,0x34,0x12,0xaf]
0xff,0x02,0x0a,0x94,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_i64 s[10:11], 0x3f717273, s2      ; encoding: [0xff,0x02,0x0a,0x94,0x73,0x72,0x71,0x3f]
0xff,0x02,0x0a,0x94,0x73,0x72,0x71,0x3f

# CHECK: s_bfe_i64 s[10:11], s[2:3], s101        ; encoding: [0x02,0x65,0x0a,0x94]
0x02,0x65,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x0a,0x94]
0x02,0x66,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0a,0x94]
0x02,0x67,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], vcc_lo      ; encoding: [0x02,0x6a,0x0a,0x94]
0x02,0x6a,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], vcc_hi      ; encoding: [0x02,0x6b,0x0a,0x94]
0x02,0x6b,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], m0          ; encoding: [0x02,0x7c,0x0a,0x94]
0x02,0x7c,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], exec_lo     ; encoding: [0x02,0x7e,0x0a,0x94]
0x02,0x7e,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], exec_hi     ; encoding: [0x02,0x7f,0x0a,0x94]
0x02,0x7f,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], 0           ; encoding: [0x02,0x80,0x0a,0x94]
0x02,0x80,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], -1          ; encoding: [0x02,0xc1,0x0a,0x94]
0x02,0xc1,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], 0.5         ; encoding: [0x02,0xf0,0x0a,0x94]
0x02,0xf0,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], -4.0        ; encoding: [0x02,0xf7,0x0a,0x94]
0x02,0xf7,0x0a,0x94

# CHECK: s_bfe_i64 s[10:11], s[2:3], 0xaf123456  ; encoding: [0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf]
0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf

# CHECK: s_bfe_i64 s[10:11], s[2:3], 0x3f717273  ; encoding: [0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f]
0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f

# CHECK: s_cbranch_g_fork s[2:3], s[4:5]         ; encoding: [0x02,0x04,0x80,0x94]
0x02,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork s[4:5], s[4:5]         ; encoding: [0x04,0x04,0x80,0x94]
0x04,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork s[100:101], s[4:5]     ; encoding: [0x64,0x04,0x80,0x94]
0x64,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork flat_scratch, s[4:5]   ; encoding: [0x66,0x04,0x80,0x94]
0x66,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork vcc, s[4:5]            ; encoding: [0x6a,0x04,0x80,0x94]
0x6a,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork exec, s[4:5]           ; encoding: [0x7e,0x04,0x80,0x94]
0x7e,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork 0, s[4:5]              ; encoding: [0x80,0x04,0x80,0x94]
0x80,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork -1, s[4:5]             ; encoding: [0xc1,0x04,0x80,0x94]
0xc1,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork 0.5, s[4:5]            ; encoding: [0xf0,0x04,0x80,0x94]
0xf0,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork -4.0, s[4:5]           ; encoding: [0xf7,0x04,0x80,0x94]
0xf7,0x04,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], s[6:7]         ; encoding: [0x02,0x06,0x80,0x94]
0x02,0x06,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], s[100:101]     ; encoding: [0x02,0x64,0x80,0x94]
0x02,0x64,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], flat_scratch   ; encoding: [0x02,0x66,0x80,0x94]
0x02,0x66,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], vcc            ; encoding: [0x02,0x6a,0x80,0x94]
0x02,0x6a,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], exec           ; encoding: [0x02,0x7e,0x80,0x94]
0x02,0x7e,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], 0              ; encoding: [0x02,0x80,0x80,0x94]
0x02,0x80,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], -1             ; encoding: [0x02,0xc1,0x80,0x94]
0x02,0xc1,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], 0.5            ; encoding: [0x02,0xf0,0x80,0x94]
0x02,0xf0,0x80,0x94

# CHECK: s_cbranch_g_fork s[2:3], -4.0           ; encoding: [0x02,0xf7,0x80,0x94]
0x02,0xf7,0x80,0x94

# CHECK: s_absdiff_i32 s5, s1, s2                ; encoding: [0x01,0x02,0x05,0x95]
0x01,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s101, s1, s2              ; encoding: [0x01,0x02,0x65,0x95]
0x01,0x02,0x65,0x95

# CHECK: s_absdiff_i32 flat_scratch_lo, s1, s2   ; encoding: [0x01,0x02,0x66,0x95]
0x01,0x02,0x66,0x95

# CHECK: s_absdiff_i32 flat_scratch_hi, s1, s2   ; encoding: [0x01,0x02,0x67,0x95]
0x01,0x02,0x67,0x95

# CHECK: s_absdiff_i32 vcc_lo, s1, s2            ; encoding: [0x01,0x02,0x6a,0x95]
0x01,0x02,0x6a,0x95

# CHECK: s_absdiff_i32 vcc_hi, s1, s2            ; encoding: [0x01,0x02,0x6b,0x95]
0x01,0x02,0x6b,0x95

# CHECK: s_absdiff_i32 m0, s1, s2                ; encoding: [0x01,0x02,0x7c,0x95]
0x01,0x02,0x7c,0x95

# CHECK: s_absdiff_i32 exec_lo, s1, s2           ; encoding: [0x01,0x02,0x7e,0x95]
0x01,0x02,0x7e,0x95

# CHECK: s_absdiff_i32 exec_hi, s1, s2           ; encoding: [0x01,0x02,0x7f,0x95]
0x01,0x02,0x7f,0x95

# CHECK: s_absdiff_i32 s5, s101, s2              ; encoding: [0x65,0x02,0x05,0x95]
0x65,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, flat_scratch_lo, s2   ; encoding: [0x66,0x02,0x05,0x95]
0x66,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, flat_scratch_hi, s2   ; encoding: [0x67,0x02,0x05,0x95]
0x67,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, vcc_lo, s2            ; encoding: [0x6a,0x02,0x05,0x95]
0x6a,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, vcc_hi, s2            ; encoding: [0x6b,0x02,0x05,0x95]
0x6b,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, m0, s2                ; encoding: [0x7c,0x02,0x05,0x95]
0x7c,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, exec_lo, s2           ; encoding: [0x7e,0x02,0x05,0x95]
0x7e,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, exec_hi, s2           ; encoding: [0x7f,0x02,0x05,0x95]
0x7f,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, 0, s2                 ; encoding: [0x80,0x02,0x05,0x95]
0x80,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, -1, s2                ; encoding: [0xc1,0x02,0x05,0x95]
0xc1,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, 0.5, s2               ; encoding: [0xf0,0x02,0x05,0x95]
0xf0,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, -4.0, s2              ; encoding: [0xf7,0x02,0x05,0x95]
0xf7,0x02,0x05,0x95

# CHECK: s_absdiff_i32 s5, 0xaf123456, s2        ; encoding: [0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf

# CHECK: s_absdiff_i32 s5, 0x3f717273, s2        ; encoding: [0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f

# CHECK: s_absdiff_i32 s5, s1, s101              ; encoding: [0x01,0x65,0x05,0x95]
0x01,0x65,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, flat_scratch_lo   ; encoding: [0x01,0x66,0x05,0x95]
0x01,0x66,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, flat_scratch_hi   ; encoding: [0x01,0x67,0x05,0x95]
0x01,0x67,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, vcc_lo            ; encoding: [0x01,0x6a,0x05,0x95]
0x01,0x6a,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, vcc_hi            ; encoding: [0x01,0x6b,0x05,0x95]
0x01,0x6b,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, m0                ; encoding: [0x01,0x7c,0x05,0x95]
0x01,0x7c,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, exec_lo           ; encoding: [0x01,0x7e,0x05,0x95]
0x01,0x7e,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, exec_hi           ; encoding: [0x01,0x7f,0x05,0x95]
0x01,0x7f,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, 0                 ; encoding: [0x01,0x80,0x05,0x95]
0x01,0x80,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, -1                ; encoding: [0x01,0xc1,0x05,0x95]
0x01,0xc1,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, 0.5               ; encoding: [0x01,0xf0,0x05,0x95]
0x01,0xf0,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, -4.0              ; encoding: [0x01,0xf7,0x05,0x95]
0x01,0xf7,0x05,0x95

# CHECK: s_absdiff_i32 s5, s1, 0xaf123456        ; encoding: [0x01,0xff,0x05,0x95,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x95,0x56,0x34,0x12,0xaf

# CHECK: s_absdiff_i32 s5, s1, 0x3f717273        ; encoding: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f

# CHECK: s_rfe_restore_b64 s[2:3], s2            ; encoding: [0x02,0x02,0x80,0x95]
0x02,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 s[4:5], s2            ; encoding: [0x04,0x02,0x80,0x95]
0x04,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 s[100:101], s2        ; encoding: [0x64,0x02,0x80,0x95]
0x64,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 flat_scratch, s2      ; encoding: [0x66,0x02,0x80,0x95]
0x66,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 vcc, s2               ; encoding: [0x6a,0x02,0x80,0x95]
0x6a,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 exec, s2              ; encoding: [0x7e,0x02,0x80,0x95]
0x7e,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 0, s2                 ; encoding: [0x80,0x02,0x80,0x95]
0x80,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 -1, s2                ; encoding: [0xc1,0x02,0x80,0x95]
0xc1,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 0.5, s2               ; encoding: [0xf0,0x02,0x80,0x95]
0xf0,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 -4.0, s2              ; encoding: [0xf7,0x02,0x80,0x95]
0xf7,0x02,0x80,0x95

# CHECK: s_rfe_restore_b64 0xaf123456, s2        ; encoding: [0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf]
0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf

# CHECK: s_rfe_restore_b64 0x3f717273, s2        ; encoding: [0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f]
0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f

# CHECK: s_rfe_restore_b64 s[2:3], s101          ; encoding: [0x02,0x65,0x80,0x95]
0x02,0x65,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x80,0x95]
0x02,0x66,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x80,0x95]
0x02,0x67,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], vcc_lo        ; encoding: [0x02,0x6a,0x80,0x95]
0x02,0x6a,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], vcc_hi        ; encoding: [0x02,0x6b,0x80,0x95]
0x02,0x6b,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], m0            ; encoding: [0x02,0x7c,0x80,0x95]
0x02,0x7c,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], exec_lo       ; encoding: [0x02,0x7e,0x80,0x95]
0x02,0x7e,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], exec_hi       ; encoding: [0x02,0x7f,0x80,0x95]
0x02,0x7f,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], 0             ; encoding: [0x02,0x80,0x80,0x95]
0x02,0x80,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], -1            ; encoding: [0x02,0xc1,0x80,0x95]
0x02,0xc1,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], 0.5           ; encoding: [0x02,0xf0,0x80,0x95]
0x02,0xf0,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], -4.0          ; encoding: [0x02,0xf7,0x80,0x95]
0x02,0xf7,0x80,0x95

# CHECK: s_rfe_restore_b64 s[2:3], 0xaf123456    ; encoding: [0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf]
0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf

# CHECK: s_rfe_restore_b64 s[2:3], 0x3f717273    ; encoding: [0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f]
0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f

# CHECK: s_pack_ll_b32_b16 s5, s1, s2            ; encoding: [0x01,0x02,0x05,0x99]
0x01,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s101, s1, s2          ; encoding: [0x01,0x02,0x65,0x99]
0x01,0x02,0x65,0x99

# CHECK: s_pack_ll_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x99]
0x01,0x02,0x66,0x99

# CHECK: s_pack_ll_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x99]
0x01,0x02,0x67,0x99

# CHECK: s_pack_ll_b32_b16 vcc_lo, s1, s2        ; encoding: [0x01,0x02,0x6a,0x99]
0x01,0x02,0x6a,0x99

# CHECK: s_pack_ll_b32_b16 vcc_hi, s1, s2        ; encoding: [0x01,0x02,0x6b,0x99]
0x01,0x02,0x6b,0x99

# CHECK: s_pack_ll_b32_b16 m0, s1, s2            ; encoding: [0x01,0x02,0x7c,0x99]
0x01,0x02,0x7c,0x99

# CHECK: s_pack_ll_b32_b16 exec_lo, s1, s2       ; encoding: [0x01,0x02,0x7e,0x99]
0x01,0x02,0x7e,0x99

# CHECK: s_pack_ll_b32_b16 exec_hi, s1, s2       ; encoding: [0x01,0x02,0x7f,0x99]
0x01,0x02,0x7f,0x99

# CHECK: s_pack_ll_b32_b16 s5, s101, s2          ; encoding: [0x65,0x02,0x05,0x99]
0x65,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x99]
0x66,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x99]
0x67,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, vcc_lo, s2        ; encoding: [0x6a,0x02,0x05,0x99]
0x6a,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, vcc_hi, s2        ; encoding: [0x6b,0x02,0x05,0x99]
0x6b,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, m0, s2            ; encoding: [0x7c,0x02,0x05,0x99]
0x7c,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, exec_lo, s2       ; encoding: [0x7e,0x02,0x05,0x99]
0x7e,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, exec_hi, s2       ; encoding: [0x7f,0x02,0x05,0x99]
0x7f,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, 0, s2             ; encoding: [0x80,0x02,0x05,0x99]
0x80,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, -1, s2            ; encoding: [0xc1,0x02,0x05,0x99]
0xc1,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, 0.5, s2           ; encoding: [0xf0,0x02,0x05,0x99]
0xf0,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, -4.0, s2          ; encoding: [0xf7,0x02,0x05,0x99]
0xf7,0x02,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, 0xfe0b, s2        ; encoding: [0xff,0x02,0x05,0x99,0x0b,0xfe,0x00,0x00]
0xff,0x02,0x05,0x99,0x0b,0xfe,0x00,0x00

# CHECK: s_pack_ll_b32_b16 s5, 0x3456, s2        ; encoding: [0xff,0x02,0x05,0x99,0x56,0x34,0x00,0x00]
0xff,0x02,0x05,0x99,0x56,0x34,0x00,0x00

# CHECK: s_pack_ll_b32_b16 s5, s1, s101          ; encoding: [0x01,0x65,0x05,0x99]
0x01,0x65,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x99]
0x01,0x66,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x99]
0x01,0x67,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, vcc_lo        ; encoding: [0x01,0x6a,0x05,0x99]
0x01,0x6a,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, vcc_hi        ; encoding: [0x01,0x6b,0x05,0x99]
0x01,0x6b,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, m0            ; encoding: [0x01,0x7c,0x05,0x99]
0x01,0x7c,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, exec_lo       ; encoding: [0x01,0x7e,0x05,0x99]
0x01,0x7e,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, exec_hi       ; encoding: [0x01,0x7f,0x05,0x99]
0x01,0x7f,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, 0             ; encoding: [0x01,0x80,0x05,0x99]
0x01,0x80,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, -1            ; encoding: [0x01,0xc1,0x05,0x99]
0x01,0xc1,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, 0.5           ; encoding: [0x01,0xf0,0x05,0x99]
0x01,0xf0,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, -4.0          ; encoding: [0x01,0xf7,0x05,0x99]
0x01,0xf7,0x05,0x99

# CHECK: s_pack_ll_b32_b16 s5, s1, 0xfe0b        ; encoding: [0x01,0xff,0x05,0x99,0x0b,0xfe,0x00,0x00]
0x01,0xff,0x05,0x99,0x0b,0xfe,0x00,0x00

# CHECK: s_pack_ll_b32_b16 s5, s1, 0x3456        ; encoding: [0x01,0xff,0x05,0x99,0x56,0x34,0x00,0x00]
0x01,0xff,0x05,0x99,0x56,0x34,0x00,0x00

# CHECK: s_pack_lh_b32_b16 s5, s1, s2            ; encoding: [0x01,0x02,0x85,0x99]
0x01,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s101, s1, s2          ; encoding: [0x01,0x02,0xe5,0x99]
0x01,0x02,0xe5,0x99

# CHECK: s_pack_lh_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x99]
0x01,0x02,0xe6,0x99

# CHECK: s_pack_lh_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x99]
0x01,0x02,0xe7,0x99

# CHECK: s_pack_lh_b32_b16 vcc_lo, s1, s2        ; encoding: [0x01,0x02,0xea,0x99]
0x01,0x02,0xea,0x99

# CHECK: s_pack_lh_b32_b16 vcc_hi, s1, s2        ; encoding: [0x01,0x02,0xeb,0x99]
0x01,0x02,0xeb,0x99

# CHECK: s_pack_lh_b32_b16 m0, s1, s2            ; encoding: [0x01,0x02,0xfc,0x99]
0x01,0x02,0xfc,0x99

# CHECK: s_pack_lh_b32_b16 exec_lo, s1, s2       ; encoding: [0x01,0x02,0xfe,0x99]
0x01,0x02,0xfe,0x99

# CHECK: s_pack_lh_b32_b16 exec_hi, s1, s2       ; encoding: [0x01,0x02,0xff,0x99]
0x01,0x02,0xff,0x99

# CHECK: s_pack_lh_b32_b16 s5, s101, s2          ; encoding: [0x65,0x02,0x85,0x99]
0x65,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x99]
0x66,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x99]
0x67,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, vcc_lo, s2        ; encoding: [0x6a,0x02,0x85,0x99]
0x6a,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, vcc_hi, s2        ; encoding: [0x6b,0x02,0x85,0x99]
0x6b,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, m0, s2            ; encoding: [0x7c,0x02,0x85,0x99]
0x7c,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, exec_lo, s2       ; encoding: [0x7e,0x02,0x85,0x99]
0x7e,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, exec_hi, s2       ; encoding: [0x7f,0x02,0x85,0x99]
0x7f,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, 0, s2             ; encoding: [0x80,0x02,0x85,0x99]
0x80,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, -1, s2            ; encoding: [0xc1,0x02,0x85,0x99]
0xc1,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, 0.5, s2           ; encoding: [0xf0,0x02,0x85,0x99]
0xf0,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, -4.0, s2          ; encoding: [0xf7,0x02,0x85,0x99]
0xf7,0x02,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, 0xfe0b, s2        ; encoding: [0xff,0x02,0x85,0x99,0x0b,0xfe,0x00,0x00]
0xff,0x02,0x85,0x99,0x0b,0xfe,0x00,0x00

# CHECK: s_pack_lh_b32_b16 s5, 0x3456, s2        ; encoding: [0xff,0x02,0x85,0x99,0x56,0x34,0x00,0x00]
0xff,0x02,0x85,0x99,0x56,0x34,0x00,0x00

# CHECK: s_pack_lh_b32_b16 s5, s1, s101          ; encoding: [0x01,0x65,0x85,0x99]
0x01,0x65,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x99]
0x01,0x66,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x99]
0x01,0x67,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, vcc_lo        ; encoding: [0x01,0x6a,0x85,0x99]
0x01,0x6a,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, vcc_hi        ; encoding: [0x01,0x6b,0x85,0x99]
0x01,0x6b,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, m0            ; encoding: [0x01,0x7c,0x85,0x99]
0x01,0x7c,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, exec_lo       ; encoding: [0x01,0x7e,0x85,0x99]
0x01,0x7e,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, exec_hi       ; encoding: [0x01,0x7f,0x85,0x99]
0x01,0x7f,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, 0             ; encoding: [0x01,0x80,0x85,0x99]
0x01,0x80,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, -1            ; encoding: [0x01,0xc1,0x85,0x99]
0x01,0xc1,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, 0.5           ; encoding: [0x01,0xf0,0x85,0x99]
0x01,0xf0,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, -4.0          ; encoding: [0x01,0xf7,0x85,0x99]
0x01,0xf7,0x85,0x99

# CHECK: s_pack_lh_b32_b16 s5, s1, 0xaf123456    ; encoding: [0x01,0xff,0x85,0x99,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x99,0x56,0x34,0x12,0xaf

# CHECK: s_pack_lh_b32_b16 s5, s1, 0x3f717273    ; encoding: [0x01,0xff,0x85,0x99,0x73,0x72,0x71,0x3f]
0x01,0xff,0x85,0x99,0x73,0x72,0x71,0x3f

# CHECK: s_pack_hh_b32_b16 s5, s1, s2            ; encoding: [0x01,0x02,0x05,0x9a]
0x01,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s101, s1, s2          ; encoding: [0x01,0x02,0x65,0x9a]
0x01,0x02,0x65,0x9a

# CHECK: s_pack_hh_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x9a]
0x01,0x02,0x66,0x9a

# CHECK: s_pack_hh_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x9a]
0x01,0x02,0x67,0x9a

# CHECK: s_pack_hh_b32_b16 vcc_lo, s1, s2        ; encoding: [0x01,0x02,0x6a,0x9a]
0x01,0x02,0x6a,0x9a

# CHECK: s_pack_hh_b32_b16 vcc_hi, s1, s2        ; encoding: [0x01,0x02,0x6b,0x9a]
0x01,0x02,0x6b,0x9a

# CHECK: s_pack_hh_b32_b16 m0, s1, s2            ; encoding: [0x01,0x02,0x7c,0x9a]
0x01,0x02,0x7c,0x9a

# CHECK: s_pack_hh_b32_b16 exec_lo, s1, s2       ; encoding: [0x01,0x02,0x7e,0x9a]
0x01,0x02,0x7e,0x9a

# CHECK: s_pack_hh_b32_b16 exec_hi, s1, s2       ; encoding: [0x01,0x02,0x7f,0x9a]
0x01,0x02,0x7f,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s101, s2          ; encoding: [0x65,0x02,0x05,0x9a]
0x65,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x9a]
0x66,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x9a]
0x67,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, vcc_lo, s2        ; encoding: [0x6a,0x02,0x05,0x9a]
0x6a,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, vcc_hi, s2        ; encoding: [0x6b,0x02,0x05,0x9a]
0x6b,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, m0, s2            ; encoding: [0x7c,0x02,0x05,0x9a]
0x7c,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, exec_lo, s2       ; encoding: [0x7e,0x02,0x05,0x9a]
0x7e,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, exec_hi, s2       ; encoding: [0x7f,0x02,0x05,0x9a]
0x7f,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, 0, s2             ; encoding: [0x80,0x02,0x05,0x9a]
0x80,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, -1, s2            ; encoding: [0xc1,0x02,0x05,0x9a]
0xc1,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, 0.5, s2           ; encoding: [0xf0,0x02,0x05,0x9a]
0xf0,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, -4.0, s2          ; encoding: [0xf7,0x02,0x05,0x9a]
0xf7,0x02,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, 0xaf123456, s2    ; encoding: [0xff,0x02,0x05,0x9a,0x56,0x34,0x12,0xaf]
0xff,0x02,0x05,0x9a,0x56,0x34,0x12,0xaf

# CHECK: s_pack_hh_b32_b16 s5, 0x3f717273, s2    ; encoding: [0xff,0x02,0x05,0x9a,0x73,0x72,0x71,0x3f]
0xff,0x02,0x05,0x9a,0x73,0x72,0x71,0x3f

# CHECK: s_pack_hh_b32_b16 s5, s1, s101          ; encoding: [0x01,0x65,0x05,0x9a]
0x01,0x65,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x9a]
0x01,0x66,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x9a]
0x01,0x67,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, vcc_lo        ; encoding: [0x01,0x6a,0x05,0x9a]
0x01,0x6a,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, vcc_hi        ; encoding: [0x01,0x6b,0x05,0x9a]
0x01,0x6b,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, m0            ; encoding: [0x01,0x7c,0x05,0x9a]
0x01,0x7c,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, exec_lo       ; encoding: [0x01,0x7e,0x05,0x9a]
0x01,0x7e,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, exec_hi       ; encoding: [0x01,0x7f,0x05,0x9a]
0x01,0x7f,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, 0             ; encoding: [0x01,0x80,0x05,0x9a]
0x01,0x80,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, -1            ; encoding: [0x01,0xc1,0x05,0x9a]
0x01,0xc1,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, 0.5           ; encoding: [0x01,0xf0,0x05,0x9a]
0x01,0xf0,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, -4.0          ; encoding: [0x01,0xf7,0x05,0x9a]
0x01,0xf7,0x05,0x9a

# CHECK: s_pack_hh_b32_b16 s5, s1, 0xaf123456    ; encoding: [0x01,0xff,0x05,0x9a,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x9a,0x56,0x34,0x12,0xaf

# CHECK: s_pack_hh_b32_b16 s5, s1, 0x3f717273    ; encoding: [0x01,0xff,0x05,0x9a,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x9a,0x73,0x72,0x71,0x3f

# CHECK: s_lshl1_add_u32 s5, 0, s2               ; encoding: [0x80,0x02,0x05,0x97]
0x80,0x02,0x05,0x97

# CHECK: s_lshl2_add_u32 s5, 0xaf123456, s2      ; encoding: [0xff,0x02,0x85,0x97,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x97,0x56,0x34,0x12,0xaf

# CHECK: s_lshl3_add_u32 s5, s1, -1              ; encoding: [0x01,0xc1,0x05,0x98]
0x01,0xc1,0x05,0x98

# CHECK: s_lshl4_add_u32 s5, s1, 0xaf123456      ; encoding: [0x01,0xff,0x85,0x98,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x98,0x56,0x34,0x12,0xaf

# CHECK: s_mul_hi_i32 s5, s101, s2               ; encoding: [0x65,0x02,0x85,0x96]
0x65,0x02,0x85,0x96

# CHECK: s_mul_hi_i32 s5, 0, s2                  ; encoding: [0x80,0x02,0x85,0x96]
0x80,0x02,0x85,0x96

# CHECK: s_mul_hi_i32 s5, 0xaf123456, s2         ; encoding: [0xff,0x02,0x85,0x96,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0x96,0x56,0x34,0x12,0xaf

# CHECK: s_mul_hi_u32 s5, s1, -1                 ; encoding: [0x01,0xc1,0x05,0x96]
0x01,0xc1,0x05,0x96

# CHECK: s_mul_hi_u32 s5, s1, 0xaf123456         ; encoding: [0x01,0xff,0x05,0x96,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x96,0x56,0x34,0x12,0xaf
